Performance hit, NaniteVisBuffer, Sw rasterize (patches)

Hello Everyone,

Someone knows how to optimize nanite visbuffer, SW Rasterize (patches), its taking some performance hits in my level. I took a print of gpu profile and stat gpu, some cases hit 11 ms in total reaching 15ms:

The hit happen when i move the camera look to mountains and sun, like the below screen.

My level: landscape 4k resolution, lumen enabled, raytracing shadows enabled, nanite enabled in landscape with tesselation enable , but using only in beach sand.

I would appreciate the advices.

Thanks in advance.

Hi, its likely coming from the tessellated landscape, depending on what gpu and render resolution you have, 5ms cost sounds about right. Some things:

(-) You can split up the gpu profile for nanite more if you use “r.Nanite.ShowMeshDrawEvents 1” in the console and then run the gpu profile again.

(-) For tessellation set the magnitude as low as possible as that impacts performance a lot, from the nanite docs under tessellation:

Tessellation and displacement works on Landscape as well, so long as Nanite has been generated for it. Unfortunately, the meshes Landscape generates have a significant scale automatically applied to them so be sure to use much smaller Magnitude for Landscape materials. Like 64x smaller. This will likely be addressed in the future using the option mentioned in the previous point.

nanite enabled in landscape with tesselation enable , but using only in beach sand.

I think you will still pay the same performance cost everywhere, not only in the beach sand. You can check the nanite view to see whether the whole landscape is tessellated or only at the beach sand to be sure.

1 Like

Thanks a lot, i changed the magnitude and the performance improved a lot, good advice, also in the tesselation view, shows the entire landscape is affected.

But thanks, really helped.