alamminsalo / orion

Cross platform Twitch.tv client
GNU General Public License v3.0
315 stars 60 forks source link

(experimental/optional) vulkan support #249

Closed ahjolinna closed 5 years ago

ahjolinna commented 5 years ago

I really don't know if there will be any real performance benefits over OpenGL but as at least Qt5 and MPV does support it, I think it would be nice to have it for those who want to try it out.....at least the driver (support) is better...and Android did moved to Vulkan (if alamminsalo cares about android version anymore)

mrgreywater commented 5 years ago

Orion draws the UI with Qt Quick/QML which in turn is rendered with OpenGL. Once Qt has a Vulkan renderer for Qt Quick, so will Orion. As for the video hardware decoding, I doubt it makes a difference in performance, since that's not really a draw call heavy workload.

ahjolinna commented 5 years ago

Oh, I didn't remember if the Vulkan support included qml.

Okay yes maybe the UI wouldn't never get any real benefits but maybe option for mpv (at least) would be good

mrgreywater commented 5 years ago

The only available api type of the mpv render api is OpenGL, see https://github.com/mpv-player/mpv/blob/master/libmpv/render.h#L327

And more importantly, it doesn't even allow zero copy hardware acceleration right now (at least not on windows), which is far more important than supporting vulkan.

OpenGL, Vulkan, Directx etc are all fairly low level graphics APIs. Orion does not use any of them directly. Orion only use some third party libraries such as QtQuick, mpv, QtAV etc which might or might not use those graphics APIs. Therefore asking Orion to support Vulkan is not a valid question, unless any of those third-party libraries give an option to do so.