We’re doing some profiling on our latest game and if we have r.allowocclusionqueries 1 with r.hzbocclusion 0 then we get 200ms hitches on the render thread while it waits on occlusioncullpipe. Looking at the insights trace it doesn’t actually look like a problem where we’re waiting on the gpu either. It looks like the task is stalling because it’s waiting on recast, which is a completely unrelated system.
[Image Removed]
[Image Removed]
This thread seems relevant and it’s even mentioned that there’s a threading paradigm pre 5.5 that was responsible for this.
[Content removed]
We’re on 5.4 and too close to ship to be comfortable with an engine upgrade. I was wondering if this implementation has a CL which I could cherry pick and backport? Generally the occlusion system without hzb seems to be faster and better built with exception of these hitches. For now we’re using hzb because it’s more consistently hitch free, even though (I have mentioned this in another thread), hzb can cause the renderthread to wait for several ms due to waiting for the RHI to flush. The optimal scenario would would be to not run hzb and also address this hitch.
Thanks,
Brenden