gfx-rs / portability

Vulkan Portability Implementation
Mozilla Public License 2.0
384 stars 25 forks source link

Dota2 benchmark regression #228

Open kvark opened 4 years ago

kvark commented 4 years ago

Somewhere between https://gfx-rs.github.io/2018/08/10/dota2-macos-performance.html and today we regressed the benchmark significantly. We used to get 33.9 / 3.5 (in the table), but now we are closer to just 30 (in immediate mode). Here are the things to try:

Related to https://github.com/gfx-rs/gfx/issues/3378, https://github.com/gfx-rs/gfx/issues/3382, https://github.com/gfx-rs/gfx/issues/3381, https://github.com/gfx-rs/gfx/issues/3383

kvark commented 3 years ago

Dota doesn't discover some of the features we have

I just noticed that it does indeed print the following lines when ran on gfx-portability:

Vulkan physical device (0): does not support Metal depthSampleCompare. Vulkan physical device (0): using transform constant buffer: false Vulkan physical device (0): supports shader clip distance: true Vulkan physical device (0): using secondary command buffers: false

I imagine working around the comparison samplers has a solid GPU performance cost, and on Intel GPU it would show up as an overall regression. So I believe this issue is blocked on https://github.com/ValveSoftware/Dota-2-Vulkan/issues/351