Hello,
In a project which involves a city environment in World Partition, we met this stack and message in a crash trying to optimize the whole level before launching a package.
... [2025.06.21-17.08.55:788][ 8]AssetCheck: /Game/CompiledLevels/Full_Munich_2025-06-21-15-31/Meshes/SM_DynConv_DynamicMeshComponent_29805 Validating asset [2025.06.21-17.08.55:788][ 8]AssetCheck: /Game/CompiledLevels/Full_Munich_2025-06-21-15-31/Meshes/SM_DynConv_DynamicMeshComponent_29806 Validating asset [2025.06.21-17.08.55:788][ 8]LogAudioMixer: Display: Audio Buffer Underrun (starvation) detected. InstanceID=1 [2025.06.21-17.08.55:788][ 8]LogWindows: Error: === Critical error: === [2025.06.21-17.08.55:788][ 8]LogWindows: Error: [2025.06.21-17.08.55:788][ 8]LogWindows: Error: Fatal error: [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\Rendering\NaniteStreamingManager.cpp] [Line: 1453] [2025.06.21-17.08.55:788][ 8]LogWindows: Error: Cannot allocate more root pages 32768/32768. Pool resource has grown to maximum size of 2048MB. [2025.06.21-17.08.55:788][ 8]LogWindows: Error: 1024MB is spent on streaming data, leaving 1024MB for 32768 root pages. [2025.06.21-17.08.55:788][ 8]LogWindows: Error: [2025.06.21-17.08.55:788][ 8]LogWindows: Error: [2025.06.21-17.08.55:788][ 8]LogWindows: Error: [Callstack] 0x00007ffd8ee24471 UnrealEditor-Engine.dll!Nanite::FStreamingManager::Add() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\Rendering\NaniteStreamingManager.cpp:1457] [2025.06.21-17.08.55:788][ 8]LogWindows: Error: [Callstack] 0x00007ffdca64c2f5 UnrealEditor-RenderCore.dll!
FRenderCommandPipeRegistry::StopRecording’::2'::<lambda_1>::operator()() [D:\build\++UE5\Sync\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:1541] [2025.06.21-17.08.55:788][ 8]LogWindows: Error: [Callstack] 0x00007ffdca679fff UnrealEditor-RenderCore.dll!TGraphTask<TFunctionGraphTaskImpl<void __cdecl(void),1> >::ExecuteTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:634] [2025.06.21-17.08.55:788][ 8]LogWindows: Error: [Callstack] 0x00007ffd91ab2722 UnrealEditor-Core.dll!UE::Tasks::Private::FTaskBase::TryExecuteTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Tasks\TaskPrivate.h:504] [2025.06.21-17.08.55:788][ 8]LogWindows: Error: [Callstack] 0x00007ffd91aa7d4a UnrealEditor-Core.dll!FNamedTaskThread::ProcessTasksNamedThread() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:779] [2025.06.21-17.08.55:788][ 8]LogWindows: Error: [Callstack] 0x00007ffd91aa81ee UnrealEditor-Core.dll!FNamedTaskThread::ProcessTasksUntilQuit() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:668] [2025.06.21-17.08.55:788][ 8]LogWindows: Error: [Callstack] 0x00007ffdca6a894c UnrealEditor-RenderCore.dll!RenderingThreadMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:317] ...
Basically, we load the data by regions with a given size (actually 8192x8192 meters), we iterate over the dynamic mesh components to convert these in static meshes and replace afterwards the dynamic mesh component in static mesh component. In the process, we apply the Nanite property to the new assets. We save the static mesh right after.
When we are done, we save the actors and unload the region to continue with another one. Before loading the next one, we force the garbage collection.
My question is about the stack above itself. I saw a few references on the web where people tried a few things like changing this setting, r.Nanite.Streaming.StreamingPoolSize (I tried the values 512 and 1024).
I tried to lower the size of my regions (4096x4096 meters) to limit the number of the instances loaded at the same time. Nothing changed.
How could I inspect this issue? Would you have any other settings I could play with? I tried to see if there was no huge Nanite instance (because of an error at the instanciation) or something like that but I saw nothing in particular.
Any help on this will be welcome. Thank you,
Regards,
Philippe