UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AnimStats.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 AnimStats.h: Animation stats
5=============================================================================*/
6
7#pragma once
8
9#include "CoreMinimal.h"
10#include "Stats/Stats.h"
11
47
48#if STATS
49 // Set to 1 for verbose anim node profiling
50 #define ANIMNODE_STATS_VERBOSE 0
51#else
52 #define ANIMNODE_STATS_VERBOSE 0
53#endif
54
55#define DO_ANIMSTAT_PROCESSING(StatName) DECLARE_CYCLE_STAT_EXTERN(TEXT(#StatName), STAT_ ## StatName, STATGROUP_Anim, ENGINE_API)
57#undef DO_ANIMSTAT_PROCESSING
58
59#define DO_ANIMSTAT_PROCESSING(StatName) DECLARE_CYCLE_STAT_EXTERN(TEXT(#StatName) TEXT("_WorkerThread"), STAT_ ## StatName ## _WorkerThread, STATGROUP_Anim, ENGINE_API)
61#undef DO_ANIMSTAT_PROCESSING
62
63#if STATS
64#define ANIM_MT_SCOPE_CYCLE_COUNTER(StatName, bIsMultithreaded) \
65 TStatId CycleCountID_##StatName = (bIsMultithreaded ? GET_STATID(STAT_ ## StatName ## _WorkerThread) : GET_STATID(STAT_ ## StatName)); \
66 FScopeCycleCounter CycleCount_##StatName(CycleCountID_##StatName);
67 #if ANIMNODE_STATS_VERBOSE
68 #define ANIM_MT_SCOPE_CYCLE_COUNTER_VERBOSE(StateName, bIsMultithreaded) ANIM_MT_SCOPE_CYCLE_COUNTER(StateName, bIsMultithreaded)
69 #else
70 #define ANIM_MT_SCOPE_CYCLE_COUNTER_VERBOSE(StateName, bIsMultithreaded)
71 #endif
72#else
73 #define ANIM_MT_SCOPE_CYCLE_COUNTER(StatName, bIsMultithreaded)
74 #define ANIM_MT_SCOPE_CYCLE_COUNTER_VERBOSE(StateName, bIsMultithreaded)
75#endif
#define TEXT(x)
Definition Platform.h:1272
#define DECLARE_CYCLE_STAT_EXTERN(CounterName, StatId, GroupId, API)
Definition Stats.h:679
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127