How to reduce expensive "Static Mesh Relevance"


So I have a scene with many (+/- 20k) actors, with a lot of repetition (ie. there are only a handfull of meshes repeated many times).

If I run the scene with “stat initviews”, I’m seeing very high numbers for

  • Static Mesh Relevance
  • Compute View Relevance
    (see also attached screenshot)

The result is that with my GPU load at some 30%, I’m maxing out on a framerate of some 80FPS.

How can I possibly reduce the impact of this? I.e. How do I mittigate the impact of having many instanced meshes in my level leading to a (CPU?) bottleneck?

Some background:

  • All actors have LODs
  • Introducing HLODs in the level helps but doesn’t solve the issue (many meshes have to be movable)
  • All non-moveable meshes have baked lighting, leading to a high “Num Textures in Tables” (7k+) shown in “stat d3d12rhi|”
  • Total Mesh Draw Calls are only at 1100 because meshes are instanced

Static Mesh Relevance

1 Like

I literally have the same problem. Did you find a way to optimize this?

Not really… Precomputed visibility combined with HLODs and distance culling whenever possible helped enough to reach the required 90FPS (for VR).

It would be great to understand better what is causing this though.