Nanite Performance

Hello everyone,

I have been researching about Nanite and the possible benefits that come with enabling it on your project regarding performance, but I can not seem to see those benefits when applying it to my game project.

At the moment I have a simple setup with trees and some grass:

Once I try to enable nanite on the tree and grass meshes though, my performance absolutely plummets, which is confusing since I’ve read how it’s much better than regular LODs.

I have tried messing with the settings below and though I’d think they would make the performance a little better than if they were on 100%, there is absolutely no change:

image

Am I possibly forgetting to enable something? Are my meshes just simply too dense? I’d appreciate any tips or solutions! Thanks in advance!

Hi EnrangedRavioli,

Nanite is pretty good at keeping your triangles down - it could be the virtual shadow map that’s slowing it down - which version of UE5 are you using? 5.1 has some optimizations if you’re still on 5.0.

Go through your render settings making sure you have HW lumen on, and the settings for shadows etc are not at their highest.

I’m currently using 5.1!

Is lumen a better option performance-wise?

I’ve enabled lumen and it seems to have affected my fps negatively and significantly darken my scene:

Seems to get significantly worse when nearby folliage.
Is there any chance it might be a setting I should change on the assets themselves?

To get the best framerates with UE5 you need to use hw lumen, nanite and virtual shadow maps combined.

What kind of gfx card do you use? I notice your “HW” option is greyed out

Masked materials are more expensive on Nanite meshes. Epic ended up just using opaque materials only for Fortnite to manage the cost.

Any material with Pixel Depth Offset enabled (anything plugged into the output pin) is insanely expensive with Nanite and should be avoided.

Check your materials. Also you should be using the profiling tools to measure where your cost is.

This simply isn’t true. Lumen and VSM both benefit from Nanite, but not the other way around. Lumen’s hardware raytracing can’t even use Nanite meshes, they use the proxy geometry.

1 Like

I have an NVIDIA GeForce RTX 2070 with Max-Q Design. I was wondering if that could be the issue too.

It should still support ray tracing, but I notice on the specs it says “Raytracing features however may reduce framerates a lot” - it may pay not to worry too much about RTX for now.

What Arkiras says is true, it’s lumen that benefits from nanite not the other way around, so if you’re loosing a lot of framerates from just switching to nanite it could be the PDO, WPO and masking.

You may actually find that you would get far better framerates in ue4.27 just using normal LODs, you’d miss out on the seamless transitions nanite gives you though…

2 Likes

I’ve seen quite a few people mentioning that it might not be ideal for every situation and some people claiming that it’s recommended to enable nanite wherever it might be possible for maximum performance.

At the moment my biggest concern is the negative effect my folliage (specifically the trees) is having on my fps, even after I reduced the number of vertices on each of the meshes as much as possible and adjusted the LOD distances, hence me looking for further information on nanite for performance, but as I mentioned it seems to simply plummet my fps down even more…

I will take a look at my folliage’s materials and hopefully come up with a solution!

I’m not too concerned about the seamless transitions (though I wouldn’t mind those either), really my biggest concern is the terrible performance my folliage is giving me even after I’ve done everything I can to optimize it, specifically my trees…

Thank you though for the information! I’ll make sure to do my research and test around a little with different project settings and get back to this post!

1 Like

I would say this is basically good advice, but it’s not quite as simple as just setting it and forgetting it, that was arguably true when Nanite only supported opaque materials without PDO. But now that Nanite’s featureset has expanded, the situation is more nuanced and requires some considerations with how you develop your content in order for it to be performant.

In particular, simplifying any WPO animation, avoiding masked materials, and avoiding PDO like the plague. Epic did a very good breakdown of how they optimized foliage for Fortnite with Nanite that I would highly suggest you read: Bringing Nanite to Fortnite Battle Royale in Chapter 4 - Unreal Engine

1 Like

Thank you so much! I’ll make sure to give it a read and hopefully come back with some nice results!

1 Like

Hello everyone, I’m coming back to this post after achieving somewhat ok fps with Lumen enabled, though my scene’s shadows are still extremelly dark:

I’m unsure it it would be my light setup itself or a bug because at this point I’ve tried everything to tone down these shadows and it simply won’t budge.

Here is my general setup; I don’t believe there is anything I haven’t tried within these elements (shadow amounts, etc):

image

Here are some errors I get when trying to re-build the lighting which I haven’t really addressed yet; please let me know if this might have something to do with this lighting issue:

Thanks in advance!

Edit:

Here’s another area with folliage that looks absolutely terrible after enableing lumen: