Skip to content

Renderer backend

Shuanglei Tao edited this page Mar 23, 2023 · 6 revisions

Tracking issue: https://github.com/tsl0922/ImPlay/issues/15

libmpv provides OpenGL renderer API only, but it does not perform best on all platforms:

  • OpenGL is slower than D3D11 on Windows
  • Apple deprecates OpenGL on macOS
  • Does not support gpu-next yet: mpv-player/mpv#10810

Upstream feature requests: D3D11, Vulkan

Luckily, we can use translation layer like ANGLE, which may translate OpenGL ES API calls to a faster hardware-supported APIs to improve performance. Also, ANGLE makes ImPlay work on Virtual Machines that doesn't have a OpenGL 3 driver (example: HyperV vm has D3D driver only). The downside is, it may break HDR: mpv-player/mpv#8530

OpenGL ES 2.0 support was added and used as default on windows now.

NOTE: EGL and GLESv2 dynamic libraries is required to run the GLES2 version of ImPlay, but not needed at build time.

Clone this wiki locally