It appears that the preview scene used to render thumbnails is not destroyed after a thumbnail is rendered, even after the blueprint editor is closed and GC is run.
Also found in Release-5.4, CL: 31425330
1. Open the attached test project with Memory Insights tracing. (-trace=default,memory)
2. Open and close the material assets "M_Grid", "M_Swirls", and "MF_Grid"
3. Run the console command "trace.bookmark PreOpenBP"
4. Open the asset BP_BigBlueprint
5. Run the console command "trace.bookmark PostOpenBP"
6. Wait a few seconds
7. Run the console command "trace.bookmark PreCloseBP"
8. Close the blueprint
9. Run the console command "trace.bookmark PostCloseBP"
10. Wait a few seconds
11. Run the console command "trace.bookmark PreGC"
12. Run the console command "obj gc"
13. Run the console command "trace.bookmark PostGC"
14. Close the editor naturally (don't kill the process)
15. Open the trace file.
16. In Memory Insights, perform a Memory Leak Analysis with A set to the marker PreOpenBP, B set to the marker PostOpenBP, and C set after the PostGC marker.
17. Sort the hierarchy by: All > Tag > Inverted Callstack
18. Search for "UThumbnailRenderer", and under SceneRenderer, there should be several Scene Proxies
19. Search for "ThumbnailTools". Under UObject, there should be an entry for "FPreviewScene::FPreviewScene" created by "ThumbnailTools::RenderThunbnail".
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-207085 in the post.
3 |
Component | UE - Gameplay - Blueprint |
---|---|
Affects Versions | 5.3, 5.3.1, 5.3.2 |
Created | Feb 16, 2024 |
---|---|
Resolved | Sep 30, 2024 |
Updated | Sep 30, 2024 |