Improve Performance in Frustum Angle

Hello and thanks for your time,

I have a problem with my GPU Rendering.
My Level containing 100.000+ Actors/Meshes which are from the start in Frustum angle.
But only ~400 need to be visible, 2 objects each ~200 child actor components, and at every time I can exactly say which are these 400.
Precomputed Visibility, Distance Culling Volumes, Max Draw Distance doesn’t help like expected.

Additional Informations:

  • Mobility of every element is static
  • Iam using only emissive color Materials (default lit/unlit, Opaque, Surface).

Can someone explain me:
1. Is it normal that in “stat initviews” “processed primitives” is always equal to all primitives? Even if culled, hidden in game, invisible in viewport, …
2. My Occlusion Queries in “stat initviews” are very high I think, but none of the mentioned features helped me. For me it looks like, that this is my primary problem. Should the features above help there?
3. Precomputed visibility need “static shadow” triangles. A Mesh with a lit and a unlit Material can throw a static shadow, if Iam using aggressive precomputed Visibility I can see that this elements pop up.
3.1 Should this work as expected even if I don’t have any lightsource?
3.2 If iam using a “Precomputed Visibility Override Volume” and adding this 400 Actors and force invisible for all others (lets say 2000+ f.e.), there are less than 400 elements “statically occluded”. Can someone explain me why this can happen?
3.3 If an Object has a max draw Distance of 1000 maybe because set directly or if in distance culling volume, can precomputed visibility use this information?

Examples with 30 Wall instead of 2000 Walls:
Only Distance Culling set up to view 2 walls, no precomputed visibility.
Watching in direction of 1/2 walls

Watching in direction of 28 walls

Only precomputed visibility, aggressive:
Watching in direction of 1/2 walls

Watching in direction of 28 walls

  1. initviews is what culls and hides your primitives, so yes, it is normal
  2. high time on occlusion queries mean only that too many of those are submitted. What you are seeing, is totally expected with respect to your primitive counts.

Thanks, that will help me to look into it.