Nanite performance

TLDR: How/are you using nanite in your game? Please note the “game” part, I’m not talking about making pretty cinematics.

I know Epic generally recommend using nanite on anything that supports it.

That said, I’m trying to get a sense of the pros and cons people are discovering, or if they simply stay clear of the feature entirely. My own questions would be things like …

  • How well does work on low end machines - I know not running off an ssd would likely cause issues
  • Should you nanite meshes thats already fairly optimised, if not, where is the threshold
  • Distance scaling vs regular LODs

Ex. a unique normal map bake + lowpoly mesh might take up more space than a pure nanite version. That’ll reduce the games size, but not nessasary be more performant.
Most examples features one object instanced x times, when in reality, games are usually thousands of different objects used x times.

Anyone upgraded a project of theirs to do a before/after compare?

  • How well does work on low end machines - I know not running off an ssd would likely cause issues
    It does need to be a modern low end system. But it works well if it’s supported.

  • Should you nanite meshes thats already fairly optimised, if not, where is the threshold
    Not really, as long as the files aren’t so high poly they are annoying to work with in Unreal Engine and other applications.

  • Distance scaling vs regular LODs
    Much better, barely noticeable, especially compared to regular LODs.

*…Not not necessarily be more performant.
It’s better to think of Nanite as it’s own separate rendering pass, and it is much more performant. It’s really intended to replace 90% of meshes in a project, and if that doesn’t work for your needs, it’s probably not worth using.

*Most examples features one object instanced x times, when in reality, games are usually thousands of different objects used x times.
Nanite benefits most from sharing materials, you get 1 draw call per material being used with Nanite regardless how many different models use that material. Say an environment is made up of a dozen rocks used hundreds of times each all using one material? One draw call. Trim sheets in particular benefit from that a lot, which is how a lot of environments in games are already built

Thanks for the reply ZacD :smiley:

It should be fine for most static geo in scenes, so I’d assume the upfront cost of adding its own pass should be worth it.
If I find the time I’ll try converting one of Epics example projects to see how it fair. I’ll be sure to post the results if I do.

/Cheers

Hey I used on my small game project if possible a nanite mesh. Especially for the floors where i wanted to go around displacement.
You can check it on Steam for free → Stockwrk7
The project is not optimized at all… But every mesh that could be possible a nanite mesh, is a nanite mesh.