Performance of clear commands in example #105
Unanswered
Desperado17
asked this question in
Q&A
Replies: 1 comment 36 replies
-
There are multiple ways a buffer may be cleared in Vulkan:
The performance of these methods depend on the GPU architecture, driver, etc. There is only one command in GL and depending on the circumstances it may map to one of these methods. For the 30% better time - is this the time of clear command only? Note that sometimes it may be difficult to reliably measure the duration of a single command.
Are you talking about the performance of indexed draw calls or the clear performance when combined with indexed draw call? |
Beta Was this translation helpful? Give feedback.
36 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Greetings,
I tried to use the Diligent examples to make some performance comparisons between Vulkan and OpenGL. For this purpose, I used Tutorial01_HelloTriangle because it's simple:
https://github.com/DiligentGraphics/DiligentSamples/blob/master/Tutorials/Tutorial01_HelloTriangle/src/Tutorial01_HelloTriangle.cpp
I started the application with and without the "-m GL" parameter on a native Ubuntu Linux X86. Then I measured the timestamps for the Vulkan/OpenGL commands using the Performance Counter View tab of RenderDoc:
https://renderdoc.org/
I tried this on 3 different machines: Nvidia with proprietary driver, Intel with proprietary driver, Intel via Mesa. In all cases, the clear commands glClear vs. vkCmdClear* yielded significantly shorter timestamps with OpenGL than with Vulkan usually 30% shorter or less. All in all, the more pixels a command produced the worse Vulkan performed. It only regularly won on the indexed draw calls.
Anyone an idea why that is so?
Regards.
Beta Was this translation helpful? Give feedback.
All reactions