Skip to main content

UnrealInsights

Profiling Reactional Footprint in Runtime

To use the Profiler you can start realtime stats or use Unreal Insights.

CMDs

Stat

StatOutput
stat Reactional 1Enable runtime stat view in Editor
stat Reactional 0Disable runtime stat view in Editor

Insights

Trace Reactional ChannelOutput
Trace.Start ReactionalChannelStart Recording Trace
Trace.Start ReactionalChannelStop Recording Trace
Build DevelopmentOutput
Trace.File ExampleFolder/ReactionalChannelStart Recording Trace to Path
Trace.File localhost_ReactionalChannelStart Recording Trace on Your Machine
Trace.File 192.158.1.38_ReactionalChannelStart Recording Trace on Custom IP Adress

Profiling

Unreal Profiler To view Profiler you can use the Editor windo or the commands above to set Channels, Diplay Profiler or Show Stats. Now you will see the Footprint in Runtime that is Used by Reactional Engine.

These are the Profilers added so you can check the Trace -> UnrealInsights after you started a trace

ProfilersCategoryName
Reactional.Engine.UpdateEngineUpdate
Reactional.Audio.FilterReadAudioFilterRead
Reactional.Events.ProcessingEventsProcessing

Flags

Inside Unreal Insights you will also see our custom Flags Flags

Timer View

And when clicking in the Insights timeline you can search for profilers. It would look something like this when you search for Reactional.Category.Name. Timer View

In the future add these to docs:

DECLARE_CYCLE_STAT(TEXT("Reactional.Engine.Update"), STAT_ReactionalEngineUpdate, STATGROUP_Reactional); DECLARE_CYCLE_STAT(TEXT("Reactional.Audio.FilterRead"), STAT_ReactionalAudioFilterRead, STATGROUP_Reactional); DECLARE_CYCLE_STAT(TEXT("Reactional.Memory.Management"), STAT_ReactionalMemoryManagement, STATGROUP_Reactional); DECLARE_CYCLE_STAT(TEXT("Reactional.Resource.Cleanup"), STAT_ReactionalResourceCleanup, STATGROUP_Reactional); DECLARE_CYCLE_STAT(TEXT("Reactional.Events.Processing"), STAT_ReactionalEventProcessing, STATGROUP_Reactional);

// --- Reactional Manager Profilers --- DECLARE_CYCLE_STAT(TEXT("Reactional.Manager.UpdateBundles"), STAT_ReactionalManagerUpdateBundle, STATGROUP_Reactional); DECLARE_CYCLE_STAT(TEXT("Reactional.Bundle.Parsing"), STAT_ReactionalBundleParsing, STATGROUP_Reactional);