Common mistakes:
a) TRACE_CPUPROFILER_EVENT_SCOPE("Foo") or TRACE_CPUPROFILER_EVENT_SCOPE("FClass::Foo")
--> results in a timer named "Foo" or "FClass::Foo" (the quotes will be included in the name)
b) TRACE_CPUPROFILER_EVENT_SCOPE(TEXT("Foo"))
--> results in a timer named L"Foo" (L and quotes will be included in the name)
c) TRACE_CPUPROFILER_EVENT_SCOPE_TEXT(TEXT("Other Foo")) or TRACE_CPUPROFILER_EVENT_SCOPE_TEXT("Foo")
--> Slow! It will use dynamic string matching that adds an unnecessary overhead.
Correct usage:
TRACE_CPUPROFILER_EVENT_SCOPE(Foo)
TRACE_CPUPROFILER_EVENT_SCOPE(FClass::Foo)
TRACE_CPUPROFILER_EVENT_SCOPE_STR("Other Foo") // when timer name has spaces
TRACE_CPUPROFILER_EVENT_SCOPE_TEXT(*Foo.ToString()) // only if a dynamic name is really needed
#rb Catalin.Dragoiu
#fyi Marc.Audy, Krzysztof.Narkowicz, Rune.Stubbe, Michal.Valient
[CL 15134822 by ionut matasaru in ue5-main branch]
The Nanite builder now accepts a set of meshes that will be built into a single resource with a hierarchy root for each input mesh.
Updated runtime code to use this feature for Geometry collection.
Each GC now takes up just a single root page.
Changed geometry collection serialization so Nanite data is now transient similar to how it is transient in RenderData for StaticMesh.
Added bogus serialization functions for parsing and throwing away the old Nanite data, so we don't crash when parsing old files.
#rb brian.karis, graham.wihlidal
[CL 14828108 by Rune Stubbe in ue5-main branch]
Nanite always generates LZ compressed data. All platforms share the same DDC key. Platforms that support hardware LZ decompress during platform-specific serialization.
Added LZ hardware decompression to platform properties and target platform.
#fyi Brian.Karis
#rb Graham.Wihlidal
[CL 14277717 by Rune Stubbe in ue5-main branch]
Fixed tangents not being derived resulting in no welding for mip0 of Nanite
Ignore bHasColor from mesh desc and check if any non-white.
Misc clean up
#rb rune.stubbe
[CL 14223322 by Brian Karis in ue5-main branch]
-Fixed issue where Nanite data would disappear because of serialization issues.
-Fixed issue where Nanite data would be deserialized twice on load.
-Added assert to Nanite streaming to make sure RootPages are valid.
#rb Graham.Wihlidal
[CL 14212566 by Rune Stubbe in ue5-main branch]