Nanite fallback mesh buffers VRAM residence

Hello Stephen,

Thank you for recommending the proper approach and providing the CL numbers. I carefully cherry-picked it into our 5.4.3 engine.

This set of changes seems to be working and stable, but it now causes a seemingly unrelated issue — the texture streaming pool constantly exceeds the budget.

I tried a clean build of our game, and there is no issue.

The streaming pool issue is only present in the build (from the same internal CL, exact configuration, same script to build-cook-package) with those two cherry-picked changes and the corresponding change in the Config/DefaultEngine.ini

[/Script/WindowsTargetPlatform.WindowsTargetSettings] bGenerateNaniteFallbackMeshes=FalseI analyzed RHI resources dumped by rhi.DumpResourceMemory all -csvfile. Strangely enough, the build with stripping seems to have many fewer Mip0 textures streamed, and the overall memory usage of the resources is 400MB less compared to the build without the said feature integrated. It’s almost like something confuses the streaming system badly.

Attaching the output of the DumpTextureStreamingStats console command, same scene, right after the game starts

The “clean” build without cherry-picked stripping:

[2025.05.14-15.28.44:825][ 24]--------------------------------------------------------

[2025.05.14-15.28.44:826][ 24]Texture Streaming Stats:

[2025.05.14-15.28.44:827][ 24]Total Pool Size (aka RenderAssetPool) = 2000.00 MB

[2025.05.14-15.28.44:827][ 24]Non-Streaming Mips = 3296.72 MB

[2025.05.14-15.28.44:827][ 24]Remaining Streaming Pool Size = 2000.00 MB

[2025.05.14-15.28.44:827][ 24]Streaming Assets, Current/Pool = 1075.81 / 2000.00 MB (54%)

[2025.05.14-15.28.44:827][ 24]Streaming Assets, Target/Pool = 1075.81 / 2000.00 MB (54%)

[2025.05.14-15.28.44:827][ 24]--------------------------------------------------------

With cherry-picked stripping:

[2025.05.14-15.35.24:674][166]--------------------------------------------------------

[2025.05.14-15.35.24:674][166]Texture Streaming Stats:

[2025.05.14-15.35.24:675][166]Total Pool Size (aka RenderAssetPool) = 2000.00 MB

[2025.05.14-15.35.24:675][166]Non-Streaming Mips = 3316.09 MB

[2025.05.14-15.35.24:675][166]Remaining Streaming Pool Size = 2000.00 MB

[2025.05.14-15.35.24:675][166]Streaming Assets, Current/Pool = 1999.98 / 2000.00 MB (100%)

[2025.05.14-15.35.24:675][166]Streaming Assets, Target/Pool = 7705.27 / 2000.00 MB (385%)

[2025.05.14-15.35.24:675][166]--------------------------------------------------------

I know it doesn’t sound related, but I triple-checked everything. Please let me know what could have potentially caused this strange result.

Best,

Denis