Avoid activating any external profiler by default as this could cause slowdown depending on which profiler gets randomly activated
#rb Martin.Ridgers
[CL 15861416 by danny couture in ue5-main branch]
In order to check for matching debug files we need to trace the module id (on Windows this means Guid and age).
#rb martin.ridgers
[CL 15839543 by Johan Berg in ue5-main branch]
In a previous change TraceAux::Initialize was moved to a point very early in process lifetime. At this point the config system is not ready, so resolving data driven channel presets does not work. To solve this we make two changes, define two presets in code (default and memory) which require very early application, and add a second pass of channel initialization which is executed directly after config system is up.
#rb martin.ridgers
#ROBOMERGE-OWNER: johan.berg
#ROBOMERGE-AUTHOR: johan.berg
#ROBOMERGE-SOURCE: CL 15822904 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v785-15821902)
#ROBOMERGE-CONFLICT from-shelf
[CL 15829754 by johan berg in ue5-main branch]
1) TlsAutoCleanup: in the previous version `FTlsAutoCleanup` used `FRunnableThread` to store registered instances and to delete them on `FRunnableThread` destruction. This means that all threads that are not created by `FRunnableThread` (the game thread in particular, and all 3rd-party threads) never delete registered `FTlsAutoCleanup` instances. This change moves the storage from `FRunnableThread` to TLS to cover all threads
Thsi change can break systems that implemented a workaround for this problem, e.g. by manually deleting registered `FTlsAutoCleanup` instances on the game thread exit, as now this instances will be deleted twice. The solution is to remove the workaround and to rely on uniform `FTlsAutoCleanup` behaviour on all threads.
#rb steve.robb
2) removed CpuProfilerTrace workaround to handle the fact that FTlsAutoCleanup leaks on the game thread, as this is fixed by (1).
#rb martin.ridgers
Need to submit both parts together as they need each other
#robomerge Release-5.0-EarlyAccess
[CL 15624597 by Andriy Tylychko in ue5-main branch]
Back out of previous new base cycle event change and use the absolute 64-bit cycle value instead. The previous solution did not support late connect scenarios. The memory cost is not significant based on the current marker frequency.
#rb martin.ridgers
[CL 15623871 by Johan Berg in ue5-main branch]
Fix compile error in UnrealMultiUserServer - LLM defines need to be wrapped in (), and tagtrace needs to check for ENABLE_LOW_LEVEL_MEM_TRACKER.
#rb Jimmy.Andrews
#rnx
[CL 15586298 by Matt Peters in ue5-main branch]
Add function to query if the static API is init and thread should be running
Tidy up some direct checks to the init count to use the new IsRunning function
Make init reference count signed and check for it going negative (mismatched startup/shutdown calls)
Disclaimer: init reference count isn't really used yet, but I'm hoping to propose using it more broadly in the future
#rb francis.hurteau
#jira none
#preflight /job/602c184cada6960001aa3e12
#ROBOMERGE-SOURCE: CL 15425482 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
[CL 15426390 by geoff evans in ue5-main branch]