HZB just eats up a LOT of performance.

Been searching all over the documentation, all over the internet, I even did set the r.HZBOcclusion in the ConsoleVariables.ini, but no luck at all.

Please Epic, we need answers.

It is not the time HZB takes, it is GPU idle time due to your game is CPU bounded. This problem is caused by how GPU profiler works (Time Stamp Queries).

You can try 4.18 and see whether there is a massive ‘performance gain’ on HZB part. Some fixes have been made to get rid of these bubbles in the measurement.

You are right, but I usually saw those HZB-bubbles only exist when profiling in the editor. Profiled in packaged usually shows correct numbers.

Firstly, thank you for the fast response.

I forgot to mention that the project is being made in 4.15.3, and got no intention of switching to the most recent version of the engine due to possible incompatibilities, or things breaking for no apparent reason.

Also, another thing that I saw while monitoring the game via ProfileGPU is the ShadowDepth Atlas Texture which is up to 8192x8192.

And by the way, I have a couple different SceneCaptures running at the same time, which consume up to 10ms each.
The parameter names are “HZB SetupMips Mips:1…9 512x256” for the scene (consuming 8ms out of 11ms total of the scene) and “HZB SetupMips Mips:1…6 64x64” for the SceneCaptures.

Any shed of light upon this issue would be really appreciated.

Thanks alot for this piece of info. I dont think ive seen this anywhere else and now i have some direction as to what is wrong in my project.
Anyone have any tips I could follow in getting a CPU bound game more GPU bound

throw out as mush code and bp as you can :slight_smile:
try to avoid tick in BPs and optimize it.
if you want something to constantly rotate - make it with materials (Helps me to remove some of ticks in BP)

or just throw in 10 x 50 kk poly mesh models without lods - it makes your game more gpu bound :smiley: