In CL 33890976 support for multi-threaded UObject destruction was removed from the engine.
This was a feature in previous open-world projects that was essential for avoiding spikes & reducing total time in incremental GC, especially after expanding the coverage to many more UObject classes.
The performance cost of destroying on the game thread in UE5 is showing up on classes with lots of allocations, such as UGeometryCollectionComponents. This Superluminal image shows a typical case taking 2-14ms on PC:
[Image Removed]
I haven’t been able to find an explanation why it was removed. Is it safe for us to restore? Does Epic plan to bring it back in some form?
[Attachment Removed]