The feature does not appear to work. Is this broken or am I possibly missing something? See Steps to Reproduce for more information.
Steps to Reproduce
- Create a new Niagara GridLocation system.
- Disable Sprite Renderer and add Mesh Renderer. Set Mesh to Cube. Set Visibility > Enable Frustum Culling to True.
- Enable GPUComputeSim, set fixed bounds to a large size so system doesn’t cull.
- Set Spawn Particles in Grid > X/Y/Z Count to 100.
- Initialize Mesh Uniform Scale to 0.025.
- Set Grid Location > XYZ Dimensions to 1000.
- Place in viewport and enable Stat Niagara.
- Observe that as you look away from particles and they are outside the view frustum, the NumMeshesRenderer does not reduce.
- Enable Niagara Debugger > Show Overview and observe that # Particles also does not reduce regardless of particles within view frustum.
Hi, thanks for including the clear repro steps.
So, what you see in Stat Niagara is the conservative count. Only the GPU knows the actual count, and we don’t read that data back. That’s also the case when looking at the Niagara debug HUD’s particle count. The engine always frustum / HZB culls when running GPU scene, though. If you want to get a sense of the cost, that work is bundled in with the GPU scene stats.
Thank you for the response, Camille. This makes total sense.
Most welcome! I’ll go ahead and close this case, feel free to reach out if you need additional support.