Nanite Performance is Not Better than Overdraw Focused LODs [TEST RESULTS]. Epic's Documentation is Dangering Optimization.

!!!UPDATED MEGA THREAD!!!
This post has been updated to include every major performance test against LODs posted through the current 142 post included here. There is no need for mindless scrolling over opinions and arguments for the facts. Note, these tests get progressively more complex and compelling regarding the faster performance without Nanite.

To Epic Games: FIX this LIE contained in the UE 5.0-5.4+ documentations.

Nanite should generally be enabled wherever possible. Any Static Mesh that has it enabled will typically render faster.

The part where it renders faster is true if quad overdraw has been abused with lots of visible green. Other features you decide to use with a Nanite can make your scene MUCH slower than a scene using automatic and/or maybe 1 minute of manually optimized game focused LODs.


Test links (in chronological order):


1. Test below where done on a 1080p screen on mobile 3060

A high-quality mesh with 5000 triangle’s, NO LODS, 5,000,000 triangles.

Same mesh 5000 triangle’s, with 10 mins handcrafted LODS , 480,000 triangles.

A mesh with 5000 triangle’s, using Nanite. 4000 traingles, but look at the FPS! Worse without LOD FPS LMAO! and no other features like VSM’s where used.

2. Another basic test with large scale rendering

Nanite Performance is Not Better than Overdraw Focused LODs [TEST RESULTS]. Epic's Documentation is Dangering Optimization. - #2 by TheKJ

3. Performance loss with Nanite tessellation with landscape

Nanite Performance is Not Better than Overdraw Focused LODs [TEST RESULTS]. Epic's Documentation is Dangering Optimization. - #13 by Jau_Studio

4. Outdated Lyra test(Nanite was slower)

Nanite Performance is Not Better than Overdraw Focused LODs [TEST RESULTS]. Epic's Documentation is Dangering Optimization. - #20 by TheKJ

BONUS: Visual issues with Nanite promoted density.

Nanite Performance is Not Better than Overdraw Focused LODs [TEST RESULTS]. Epic's Documentation is Dangering Optimization. - #30 by TheKJ

5. Overdraw abused scene
  1. Nanite Performance is Not Better than Overdraw Focused LODs [TEST RESULTS]. Epic's Documentation is Dangering Optimization. - #69 by TheKJ
6. Nanite with last gen lighting vs LODs with next gen lighting

A stupid waste of your ms budget: Imgsli

7. Updated Lyra test

Nanite Performance is Not Better than Overdraw Focused LODs [TEST RESULTS]. Epic's Documentation is Dangering Optimization. - #90 by TheKJ

8. Six million poly mesh/scene is slower with nanite.

Nanite Performance is Not Better than Overdraw Focused LODs [TEST RESULTS]. Epic's Documentation is Dangering Optimization. - #102 by TheKJ

9. Improperly enabled nanite running faster

Nanite Performance is Not Better than Overdraw Focused LODs [TEST RESULTS]. Epic's Documentation is Dangering Optimization. - #105 by TheKJ

10. Documented negative experience with nanite

Nanite Performance is Not Better than Overdraw Focused LODs [TEST RESULTS]. Epic's Documentation is Dangering Optimization. - #117 by Tymax?

11. Threat Interactive example of subpixel issues promoted by Nanite vs texture quality

https://youtu.be/lJu_DgCHfx4?t=810

12. Overdraw explained and stopping the 'poly count limit' for nanite lie

Nanite Performance is Not Better than Overdraw Focused LODs [TEST RESULTS]. Epic's Documentation is Dangering Optimization. - #145 by TheKJ

13: Developer use-case for VR with Nanite

Post 1 & 2, despite a pro-temporal upscaling dev-case, it’s detailed enough to include in test.

14: Threat Interactive report on Nanite performance vs traditional rasterization performance research.

The video also includes additional information about geometric temporal instability and Anti-Aliasing research.

15: 5.5 Preview Nanite test debunking: More Triangles=Better Culling for Performance

Nanite Performance is Not Better than Overdraw Focused LODs [TEST RESULTS]. Epic's Documentation is Dangering Optimization. - #235 by TheKJ

16: UE5.4 (and why version # at this time is irrelevant) Nanite test regarding test link 15 with additional context reply and scenario tier list

The counter test

And the reply explaining why the test differs from test link 15 and performance tier list.


Non-chronological off thread proof:
Optimization? Performance worse WITH Nanite and DX12… : unrealengine (reddit.com)–

Worse performance after enabling Nanite? –

Nanite Performance –

How to optimize Nanite enabled mesh? —(post showcases worse perf after nanite is enabled)

Need more proof?
Test Epic’s 6 billion dollar baby Fortnite performance as an example too.

Stop relying on Nanite people. And YOU/Epic Games need to either fix Nanite or stop revolving other important features around it like VSMs and Lumen.

9th generation Fortnite (Nanite, Lumen, etc) would run better than how it runs now with Nanite just by adding LODs.

Optimize your scene with LODs and mainly quad overdraw for now. Because all these new features are pointless if you have to use blurry/artifact upscalers like DLSS or TSR to reach 60fps which should be a standard by now but devs can barely keep up with it. You’re not going to get that “Nanite detail” anyway with blurry upscalers.

TAA and Upscalers ruin motion clarity. What’s in video games? Motion. Lots of it.

Kevin Jimenez
Founder of Threat Interactive.

26 Likes

BUMP.

Here is the ms timing on an even bigger scale test.
The mesh is 4300-5000 tris(same mesh as before). 10,000+instances.
With 10 minute made LODs
Look at the ms render time with LODS.

VS Epic’s Nanite, on the same mesh.

With Nanite, it’s rendering 4000-6000 triangles but with LODs it renders 1,000,000+tris and STILL runs faster without Nanite(stats via “stat RHI”) . You’ll find a lot more test here showing Nanite causing slower performance.

  • This means other, more important features that add to photorealism handle 1,000,000 more triangles better over a full Nanite scene by 1.5ms.

  • That is a test with one mesh? Can you even imagine much better Nanite projects would run be if they used optimized, game focused LODs instead of Nanite with several different kinds of meshes?

  • The testing with City Sample and FN performance shows there is no optimizing Nanite unless you have baked environments. And even then the first post shows it doesn’t always render faster. Even without VSMs in the equation.

FIX your documentation before more studios ruin their games.

4 Likes

IMO the poor performance and bugs in Remnant 2 are features inspired by a certain souls game.

Btw absolutely love the complexity of R2!

1 Like

In that video/game, it wasn’t even running 4k. The game has the internal resolution cut by half by default without letting the player know.
FN’s performance with Nanite and Lumen is ridiculous.

Btw absolutely love the complexity of R2!

This post has nothing to do with the gameplay. It’s about not flushing optimization down the toilet in our industry.
And I’ll be honest. It not like it’s Epic fault 100% Prob just 40%. Those R2 Devs are trash.

The thing is, Nanite can render geometry faster. BUT everything else in the scene, like Lumen and VSM’s can’t handle Nanite which causes a 1.3ms cost vs the LOD scene.

Epic needs to fix that or the VSM, Lumen, Nanite workflow is a downgrade.

1 Like

Just hope you come back to read this some time down the road.

Best of luck.

3 Likes

I’m already down the road. It’s pretty bumpy due to the 30fps “standard”.

1 Like

you’re not intended to reach max fps with Nantite. You trade your high fps for stable (ish) fps in a playable range to get all the triangles. Nanite and lumen need work, for sure, but the industry standard we’re moving to isn’t going to be 500 fps. In fact, fps is probably going to mean less and less with how they’re upscaling everything and blurring everything.

Really though let’s be honest, Nanite and lumen are meant for film and AAA industry.

Bull, if you make cuts and good decision you can use some of these features and still reach 60fps. But Epic Games keeps insisting to use all of them at once and then upscale.
It’s moron developers who keep forcing and using upscales to fix problems. I refuse to be one of them.

the industry standard we’re moving to isn’t going to be 500 fps

I never said anything like that? All I want is a stable, basic standard of real 60fps at a clear native resolution on current gen gpus. Thats is not a lot to ask for since last gen game/pre-dlss/ nearly realistic games could run many resolutions higher on max settings just using half of modern GPU power.

6 Likes

I’m starting to believe that Nanite was intended for Virtual Production and not games. I’ve noticed a lot of the engine has a better focus on virtual production & cinematics than Realtime performance and functionality.

I’ve been fighting with nanite for some time now and even digging through the source trying to find ways to optimize it for a 1080ti. Lumen works great on that card but nanite and VSM are the killers. It’s just not something you’ll want to use outside of virtual production.

Nanite is the reason why no matter what settings you use for other graphics features, the frame time remains stagnant. You can get better frame time’s with Nanite using r.Nanite.MaxPixelsPerEdge 8+ but this just makes using nanite uglier than LOD’s.

3 Likes

By definition, testing a render where there’s no screen overlap between the meshes and no background to overlap with, is completely irrealistic and nullifies parts of Nanite’s performance gains.

EDIT: However I want to point out that I’m very appreciative of the amount of work that went into this. I’m sure it must not have been easy to setup. But unfortunately this really doesn’t look like a realistic test.

9 Likes

Not easy at all. Nanite makes things much more simpler but hurts gamers with its overhead.

It’s fine if we should disagree on that, everyone who takes a look at the test forums can form (Bad Pun)an opinion :slight_smile: based on their games needs instead of “Enable anywhere possible!”.

Again I have shared an Idea that is similar to the Nanite workflow but also benefits gamers when it comes to saving performance in case anyone is reading.

Personally, I think AI workflow would be 100% optimal and not far-fetched at all thanks to the apparent RTX remix AI workflow. If Nvidia does it first, then good publicity stunt of their part but Epic can invest now that all three major GPU brand have AI cores.

(I am NOT promoting AI help performance in real time, this is a developer tool idea ONLY!)

Recently tried to do a test in 5.3 but didn’t make very good LODs due to 5.3 being completely ruined internally for editing meshes. (Lods were not properly cutting down tris count to a good enough distance)
So not a fair representation

I’ll most likely have to make serious time to find another program to make the proper LODs and pit it against just “flippin on” Nanite.

If you don’t think these test are good enough, go make your own.

5.3.1, LOD Landscape VS Nanite Landscape (No Tesslation)


Am I doing something wrong ?
Why using Nanite, especially on Landscape ? I tried to activate it for Tesslation but
not only you lose performances enabling Nanite on this, but you lose even more if Tesslation is enabled (not in the screenshot, but basically, it turns to a screenshot game lol .

4 Likes

Yep, and just one object causes Nanite to lose about 9 frames.

So when you keep enabling Nanite on more and more objects, it will continue to kill perf more and more.

Thanks for sharing that!

I definetly agree with all of this , as someone who used nanite since the beginning , i learned that it was working really well for big meshes.

I always work with photogrammetry meshes (so maybe 40-50m+ polys) and nanite works well on it. Using good old LOD’s doesn’t work as nanite’s do.

BUT.

In the past , i had to make a complete environment next to our Mesh.
And completely messed up framerate and optimisation because i wanted to use Nanite with everything. I was still a student and I was close to give up , and i just tried without nanite and the problem was solved.

Morality ; If your mesh works well without Nanite , just don’t use it.

  • Charles
5 Likes

Thank SO MUCH for sharing your experience.
I have so many people badgering me because my test are “too simple”.

And it’s also Epic faults for giving a faulty Documentation that tells everyone to enable in everything. (Mostly because they STUPIDLY made other features dependant ON nanite meshes)

4 Likes

Understandable ,

Nanite is a great tool by itself , but must be used in specific cases or it can blow up your project.

Nanite isn’t the solution to everything , maybe it still needs a bit of work for it to be really stable with all types of meshes. But for now , use it only on 2-3-4-5+++ Million polys Meshes.

That’s the only real situation where Nanite is needed.

Well !

Wishing everyone a nice day.

  • Charles

I agree with this. I was just using city sample vehicles on a flat landscape with one plane, but the performance was only 40fps. I switched off nanite for the car parts, and boom 80fps++. And this is the fact that tha car city sample vehicles are using are 800k to 1mil, which i thought were the best case scenarios for nanite, but i was wrong

5 Likes

WOW!

Yet Epic Games wants to push this on players.

The more people start talking about this, the more glad I am for asking for Nanite dependent features on my feedback thread.

2 Likes

Decided to test Nanite in Lyra–This is a quick test. Not going to do any major profiling but this is definitely concerning.

1080-3060 locked at 60fps
Lowest settings and bare bone environments: Nanite adds 9-11% overhead on the GPU

High preset, playable graphics considering my hardware: Nanite adds a WHOPPING 20% more overhead on the scene.

So, take a moment to hold this in, this scene pretty simple and Nanite already causes a drastic change in performance.
Now now imagine that same 20% loss in performance multiplied by more complex geometry and scenery!

STOP obsessing over Nanite Epic Games!. Stop making other features dependant on it and start helping gamers with a more performance focused engine!

This is ridiculous! Is Nvidia paying Epic to make their engine less performant to promote framegen and all that bull?
What is going ON!

1 Like