[VSM] Non-Nanite Marking Job Queue overflow...

Hi.

We have this warning that is coming up once in a while “[VSM] Non-Nanite Marking Job Queue overflow. Performance may be affected. This occurs when non-nanite meshes cover a large area of the shadow map.(0 seconds ago)” and the only place in udn I found about it is there

[Content removed]

and I try the r.Shadow.Virtual.NonNanite.IncludeInCoarsePages and it didn’t change anything.

I’ve done a big cleanup of meshes that could have been the problem but it seems that there’s no way to have a list of those problematic object. Not having a possibility to know which object is causing this is making it hard to fix.

Any hint to how to find those?

cheers

Hi,

this warning is part of a feature that was introduced with 5.5 to handle non-nanite job marking queue overflow more gracefully (with this commit) and may appear in projects after upgrading to 5.5. As mentioned in the topic you linked, Virtual Shadow Maps are best used in conjunction with Nanite as they rely on Nanite’s efficient culling and drawing. The recommended approach is to convert non-Nanite meshes to Nanite to make better use of VSM. You may also consider switching the shadow method to Cascaded Shadow Maps if non-Nanite meshes are required, but this will likely impact performance to some degree.

To find out which meshes are non-Nanite, you can use the “Nanite Visualization” mode (under “Lit” in the 3D viewport) and select “Mask”. This will show all Nanite meshes as green and non-Nanite as red. This visualisation mode will only work when there is at least one Nanite mesh in the scene.

I hope this is useful. Please let me know if you need more help.

Thanks,

Sam

I’ve done a quick pass again with the mask (a pass I’ve done before posting I was hiding nanite meshes) and nothing really seems to be offending. Static Meshes that are not nanite are not casting shadows. That’s why a list of mesh would have been useful when the warning is popping.

cheers

Hi,

I’ve discussed this with some colleagues who have noticed the same warning. Apparently this warning can appear if the scene has lots of shadow casting lights or contains a (shadow casting) particle system, even if there are few non-Nanite meshes.

Just to confirm, do you want to see a list of offending (non-Nanite) meshes when the warning is displayed? That is currently not implemented, but I can potentially pass this as a feature request to Epic.

One way to list Nanite and non-Nanite meshes is via the Property Matrix (in the Outliner, bulk select all meshes, right-click and choose “Edit selection in property matrix”, press the pin next to Nanite>Enable Nanite, in the content browser you can do the same by right-clicking a selection and choosing Asset Actions).

Best,

Sam

The particle system was my next step as there are some with mesh particle. I’ll try to check today

cheers

Thanks, please keep me in the loop (I’m interested to know if the particle system is causing the warning).

Best regards,

Sam

Still looking at this on our side

I’ve disable quite a lot of things including disabling niagara with fx.Niagara.SetOverrideQualityLevel 0 and show niagara as well. Still have the Warning.

Disabled HLOD, Translucency, skeletalmeshes and still nothing. But … doing Show NanitesMeshes and the warning stop … a bit counterintuitive when the warning says non nanite mesh causing the trouble hehe.

Thanks for your reply. nonCould you please try to bring up the GPU profiler (with “ProfileGPU” in the console)? There should be a RenderVirtualShadowMaps (Non-Nanite) entry under FRDGBuilder::Execute > Scene > ShadowDepths. Please make a screenshot of the GPU profiler window, it may provide some more clues to how much performance is lost.

There are also a number of Non-Nanite related CVars, for example you could try setting r.Shadow.Virtual.NonNaniteVSM to 0 to disable VSM shadows on non-Nanite geometry under the [/Script/Engine.RendererSettings] section in the DefaultEngine.ini config file.

[Image Removed]

Please let me know how it goes.

Best,

Sam

I don’t why I didn’t think about profiling it and check what’s in the RenderVirtualShadowMaps(Non-Nanite) while having the warning… I did a quick check and there’s some stuff that worth looking at it

cheers

No problem, hopefully it provides some useful insights.

Sam