Please Implement a vulkan API


#1

Iand I noticed that opengl is more efficient than DirectX angle on my CPU’m currently using the latest version of Shotcut version 19.02.28 on windows 10 64bit***Vulkan*** is intended to provide a variety of advantages over other APIs as well as its predecessor, OpenGL. … As of release, Vulkan runs on Android, Linux , Tizen, Windows 7, Windows 8, and Windows 10 (freely licensed third-party support for iOS and macOS is also available) Reduced driver overhead, reducing CPU workloads. =have you ever considered using vulkan API it seems as though it may have a pretty big performance Improvement ovr DirectX angle and opengl the following website link is to show how to implement the vulkan API https://developer.nvidia.com/Vulkan thanks any replies to my request would be appreciated dan


#2

I think a lot of effort would be needed to do this and it is not obvious that there would be a large enough gain, if any, to justify it from studying the comments on the following webpage: https://developer.nvidia.com/transitioning-opengl-vulkan

With the availability of Vulkan there are now two open graphics APIs that target similar platforms. This brings up the questions which API to choose for new applications, or what to do with existing applications. Just because Vulkan is newer, it doesn’t mean it is always better, nor that OpenGL became an inferior choice overnight.

Vulkan shines when the application is designed around its concepts from the ground up. Concepts like re-using API objects, rather than building state on the fly, potentially re-using entire command sequences and so on. Just like OpenGL has its fast paths, Vulkan has as well. Any API can be used or abused to reach a certain goal.

OpenGL is still a great option for a lot of use-cases. It does come at a much lower complexity and maintenance burden, while in many cases still providing great overall performance. Enabling the developer to focus on solving actual graphics and compute problems instead of writing a lot of supplementary Vulkan code.

Vulkan’s design allows great reduction in CPU time spent in the driver, therefore check whether your application is actually driver-bound and not application-limited. The latter is often the case for code-bases that have traditional scene-graph traversal which mapped well to the original OpenGL state machine.

There are no fundamentally different GPU features in Vulkan versus OpenGL. As a consequence, if the GPU workload dominates the rendering time in your application, and is expected to stay that way (growing problem size with new hardware generations…), Vulkan may not offer any speed-up to you. Or differently phrased, do you have a good use-case for the additional CPU time gained with moving to Vulkan (or indirect effects such as potentially lower CPU power usage)?

If your application is sensitive to stuttering, then Vulkan’s explicit design could allow you to manage state and resources better than internal driver heuristics, by controlling explicitly when expensive operations happen during rendering of a scene.

Vulkan excels in creating work for the GPU spread over many CPU threads. If your application is targeting that, or already scaling well across CPU threads, and you have exhausted modern OpenGL techniques, then Vulkan can improve the situation.


#3

thanks for the feedback with the reason why I hope they switch from DirectX angle to Vulcan is because my CPU usage is around 95 to 100% most of the time when trying to Simply view the videos and Playback using DirectX angle when using the opengl mode my CPU usage is only 90% when before using DirectX angle it was 100% most of the time and it had stuttering and judder Playback so you can see that opengl is definitely more efficient and CPU which also allows me to have better and smoother video playback so I’m hoping if they update from opengl to vulkan I will see even better performance improvements


#4

Shotcut only uses OpenGL, primarily GLSL fragment shaders even when DirectX is chosen. The ANGLE project provides a technology to remap OpenGL to Direct3D. It was initially created for the Chrome browser to address the compatibility issues with OpenGL on some Windows systems (native OpenGL depends on the GPU and its driver). Qt, which we use for the GUI, adopted it for the same reason. With the coming of Vulkan and Metal for macOS and some deprecation of OpenGL, I have been thinking about the future. Qt is already working on it, and I will likely go in their direction when it comes to our other uses of OpenGL (displaying video and GPU effects):