You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The occlusion culling buffer is still updated when moving hidden OccluderInstance3Ds. This could be avoided at least when the node itself is hidden, but also when one of its parents is hidden. This way, you wouldn't have to worry about moving nodes with OccluderInstance3D children while they're hidden (to avoid unnecessary BVH rebuilds, which take a significant amount of CPU time).
Using this approach of rotating the occluder without hiding it also doesn't resolve frametime spikes. They are certainly reduced, but still noticeable enough that it prevents getting perfectly smooth frametimes with V-Sync enabled. Overocclusion also occurs when doors open, due to the BVH taking a few frames to be fully updated.
Tap the F key to make the doors close and reopen continuously while V-Sync is disabled. Notice how framerate dips with occlusion culling enabled compared to occlusion culling disabled, even though the door's OccluderInstance3D node is hidden in this situation (you can check the remote scene tree to confirm this).
The text was updated successfully, but these errors were encountered:
Related to #70373.
Godot version
4.0.beta9
System information
Fedora 36, Vulkan Forward Plus, AMD Radeon RX 6900 XT
Issue description
The occlusion culling buffer is still updated when moving hidden OccluderInstance3Ds. This could be avoided at least when the node itself is hidden, but also when one of its parents is hidden. This way, you wouldn't have to worry about moving nodes with OccluderInstance3D children while they're hidden (to avoid unnecessary BVH rebuilds, which take a significant amount of CPU time).
Using this approach of rotating the occluder without hiding it also doesn't resolve frametime spikes. They are certainly reduced, but still noticeable enough that it prevents getting perfectly smooth frametimes with V-Sync enabled. Overocclusion also occurs when doors open, due to the BVH taking a few frames to be fully updated.
Steps to reproduce
Minimal reproduction project
occlusion_culling_mesh_lod_hidden_occluder_rotating.zip
Tap the F key to make the doors close and reopen continuously while V-Sync is disabled. Notice how framerate dips with occlusion culling enabled compared to occlusion culling disabled, even though the door's OccluderInstance3D node is hidden in this situation (you can check the remote scene tree to confirm this).
The text was updated successfully, but these errors were encountered: