[Bug 105695] [PERF] Updating ubo offset via vkCmdBindDescriptorSets is causing flush that is taking 50% of rendering time

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Mar 28 17:19:28 UTC 2018


--- Comment #3 from Jason Ekstrand <jason at jlekstrand.net> ---
(In reply to Vyacheslav from comment #2)
> You are right, I get better perf without asserts. It is still lagging behind
> opengl. I also checked proprietary nvidia driver and I also get similar
> results with vulkan slightly lagging behind.

How big is the discrepancy?  I'm a bit surprised if there is much but I could
see it happening.  If you're CPU bound, what is the CPU overhead of your app
(not the driver) in the Vulkan vs. GL configuration?

> I think the issue can be closed
> but I'm still left with impression that opengl drivers are better at
> handling memory management in this case (passing 50000 matrices per frame
> via glUniformMatrix). Probably because opengl drivers are more mature and
> better at tracking dirty state.

More to the point, I think OpenGL drivers are highly optimized for repeatedly
changing a uniform and drawing as that was the best practice 5-10 years ago. 
Modern applications tend to try very hard to reduce the number of draw calls
and state changes.  Even if the CPU overhead of changing the matrix 50k times
is low, it's likely to cause quite a bit of GPU overhead having all those state
changes and the stalling that likely comes with them.

You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20180328/819c39f5/attachment.html>

More information about the intel-3d-bugs mailing list