The engine does not free the LevelRenderAssetManagers array elements in FRenderAssetStreamingManager when changing lighting scenarios.
Following code can avoid this issue.
void FRenderAssetStreamingManager::PropagateLightingScenarioChange() { FScopeLock ScopeLock(&CriticalSection); QUICK_SCOPE_CYCLE_COUNTER(STAT_FRenderAssetStreamingManager_PropagateLightingScenarioChange); // Note that dynamic components don't need to be handled because their renderstates are updated, which triggers and update. TArray<ULevel*, TInlineAllocator<32> > Levels; for (FLevelRenderAssetManager* LevelManager : LevelRenderAssetManagers) { if (LevelManager!=nullptr) { Levels.Push(LevelManager->GetLevel()); LevelManager->Remove(nullptr); delete LevelManager; // add this line } }
Result:
StreamingManager memory amount keeps increasing.
The screenshot below is from an hour after launch.
[Image Removed]
I am not able to find world outliner how to enable it?
Undefined sysmbol: typeinfo for AActor when cross-compile linux dedicated server on windows
How can i modify the param name in EQS node
What method is used to fill polygonal regions when drawing spline mesh at run time?
Delay nodes occasionally don't fire the "Completed" output in a nativized build
Why does the REMOVE method of map container remove elements have memory leaks?
How to achieve HLSL Multiple Render Target in Material blueprints?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-97571 in the post.
1 |
Component | UE - Rendering Architecture - RHI |
---|---|
Affects Versions | 4.24, 4.25 |
Target Fix | 4.26 |
Created | Aug 26, 2020 |
---|---|
Resolved | Aug 28, 2020 |
Updated | Jul 23, 2021 |