This allows easily calculating capture duration by checking the delta between StartTimestamp and the new EndTimestamp. This is much faster than trying to calculate the duration by looking at all the frame times.
#rb ben.woodhouse
[CL 27461382 by tyler staples in ue5-main branch]
It should be possible to launch UTS without having tracing enabled in the application. This is important to allow that for example UnrealInsights can launch the trace server. With this the log messages has to be emitted on the LogCore channel, as the LogTrace only exists when tracing is enabled.
#jira UE-190571
#rb ionut.matasaru, catalin.dragoui
#lockdown mark.lintott
[CL 27029990 by johan berg in ue5-main branch]
- mostly just replacing them AllowWindowsPlatformTypes.h / HideWindowsPlatformTypes.h
- some other files had both Pre/PostWindowsApi.h and Allow/HideWindowsPlatformTypes.h, so just removed
- some occasional include order changes.
#jira UE-152863
#rnx
#rb Devin.Doucette
[CL 26985385 by david harvey in ue5-main branch]
[FYI] zack.neyland
Original CL Desc
-----------------------------------------------------------------
CSVProfiler: Return -1 when hot reloading to prevent a crash.
#jira UE-190804
#rb Tyler Staples
[CL 26928578 by alex kahn in ue5-main branch]
- Enabled cpu scope tracing of object names (blueprints, functions) by default when app is not running as a commandlet (still requires "cpu" trace channel and -statnamedevents to be enabled). Enabling AssetLoadTime trace channel will enable tracing of object names also in commandlets (ex. cooking).
- Improved performance when tracing "statnamedevents" cpu scopes (by using a new optimized code path that uses an FName stat id together with a TCHAR* descriptive name).
#rb Matt.Peters
[CL 26815377 by ionut matasaru in ue5-main branch]
* A SlowTask is created when there is delibrately going to be a stall-like condition but the developer wants to retain some limited interactivity. This is traditionally not considered a stall.
* This change will pause stall detectors when slow tasks are created and resume them when the slow task ends.
* Implementation uses a TLS variable to store SlowTask specific pause contexts so as to not put a dependency of SlowTasks on the StallDetector. Thread local stack is used since SlowTasks can be created from any thread context and can also be recursively created - therefore the Start/Finalize SlowTask events can be fired from any thread and the number of pause contexts need to match the created slow tasks.
#rb Brooke.Hubert, Rex.Hill
#jira UE-179567
[CL 26583138 by logan buchy in ue5-main branch]
* StallDetector gets StallDetector.ForceLogOnStall which will cause the editor to emit a log from the LogStall category at verbosity Log even if the StallDetector scope is set to disable reporting
* Editor.Debug.SlowTask.Simulate will cause the FEngineLoop::Tick to enter a SlowTask for the given number of seconds.
* Together, these can be used to validate that the StallDetector scope in FEngineLoop::Tick is triggered when a SlowTask runs past the detector's stall threshold time (2 seconds at time of writing)
#jira UE-179567
#rb Rex.Hill
[CL 26559492 by logan buchy in ue5-main branch]
* Commented out during backout of previous change. Should have still been intact.
#rb trivial
#jira UE-179567
[CL 26558878 by logan buchy in ue5-main branch]
On some platforms and configurations all command line arguments are sent as one string rather than one string per argument. We need to parse each argument in the vector for sub arguments to be sure to catch any memory trace channel.
#rb martin.ridgers
#jira UE-188908
[CL 26255677 by johan berg in ue5-main branch]
[FYI] Johan.Berg
Original CL Desc
-----------------------------------------------------------------
Rework command line parsing for memory trace
On some platforms and configurations all command line arguments are sent as one string rather than one string per argument. We need to parse each argument in the vector for sub arguments to be sure to catch any memory trace channel.
#rb martin.ridgers
#jira UE-188908
[CL 26253342 by johan berg in ue5-main branch]
On some platforms and configurations all command line arguments are sent as one string rather than one string per argument. We need to parse each argument in the vector for sub arguments to be sure to catch any memory trace channel.
#rb martin.ridgers
#jira UE-188908
[CL 26252800 by johan berg in ue5-main branch]