I’m encountering a consistent GPU hang (100% repro) on the Adreno 740, specifically on my Samsung S23. The issue occurs reliably in a certain area of the scene during testing. I’m currently using Vulkan as the graphics API.
I came across reports that Fortnite had a similar problem with the same GPU, and it seems Epic Games has since addressed it.
If anyone has insights, workarounds, or knows how Epic resolved it, I’d be extremely grateful for any help. Thanks in advance!
this Log is
“LogRHI: Timed out while waiting for GPU to catch up on occlusion results. (0.5 s)”
Hello @Anonymous_c2743c00185879db10dd4ba3bb0046e7 how are you? Hope all fine!
I was digging a lit into the UE5 code and found that message on how Vulkan handle the occlusion queries, on the
FVulkanOcclusionQueryPool::InternalTryGetResults(bool bWait)
function
That log message means Vulkan occlusion queries are taking too long to return results, which can cause the GPU to stall.
It’s likely the reason you’re seeing 100% GPU usage or GPU hangs on that device.
The rendering pipeline causes this because with occlusion culling enabled, the CPU must wait for the GPU to return occlusion results to know what to draw (what’s occluder and what’s not). It’s an optimization.
If the GPU is slow or overloaded, the CPU stalls, leading to hangs.
Try disabling occlusion queries with r.AllowOcclusionQueries=0
to confirm.
To improve this—and of course, to keep this optimization—I highly recommend trying to reduce scene complexity, such as cutting down geometry, draw calls, and overdraw.
About Oclussion Culling: Visibility and Occlusion Culling in Unreal Engine | Unreal Engine 5.5 Documentation | Epic Developer Community