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
13
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"SkinnedMeshComp Tick"
),
STAT_SkinnedMeshCompTick
,
STATGROUP_Anim
, );
14
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"TickUpdateRate"
),
STAT_TickUpdateRate
,
STATGROUP_Anim
, );
15
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"Anim Tick Time"
),
STAT_AnimTickTime
,
STATGROUP_Anim
, );
16
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"StateMachine Update"
),
STAT_AnimStateMachineUpdate
,
STATGROUP_Anim
, );
17
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"StateMachine Find Transition"
),
STAT_AnimStateMachineFindTransition
,
STATGROUP_Anim
, );
18
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"RefreshBoneTransforms"
),
STAT_RefreshBoneTransforms
,
STATGROUP_Anim
, );
19
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"Post Anim Evaluation"
),
STAT_PostAnimEvaluation
,
STATGROUP_Anim
, );
20
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"Trigger Notifies"
),
STAT_AnimTriggerAnimNotifies
,
STATGROUP_Anim
, );
21
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"Anim Decompression"
),
STAT_GetAnimationPose
,
STATGROUP_Anim
, );
22
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"InterpolateSkippedFrames"
),
STAT_InterpolateSkippedFrames
,
STATGROUP_Anim
, );
23
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"UpdateKinematicBonesToAnim"
),
STAT_UpdateRBBones
,
STATGROUP_Anim
, );
24
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"UpdateRBJointsMotors"
),
STAT_UpdateRBJoints
,
STATGROUP_Anim
, );
25
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"FinalizeAnimationUpdate"
),
STAT_FinalizeAnimationUpdate
,
STATGROUP_Anim
, );
26
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"SkelComp UpdateTransform"
),
STAT_SkelCompUpdateTransform
,
STATGROUP_Anim
, );
27
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"MeshObject Update"
),
STAT_MeshObjectUpdate
,
STATGROUP_Anim
, );
28
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"Calc SkelMesh Bounds"
),
STAT_CalcSkelMeshBounds
,
STATGROUP_Anim
, );
29
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"BlendInPhysics"
),
STAT_BlendInPhysics
,
STATGROUP_Anim
, );
30
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"SkinPerPolyVertices);"
),
STAT_SkinPerPolyVertices
,
STATGROUP_Anim
, );
31
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"UpdateTriMeshVertices"
),
STAT_UpdateTriMeshVertices
,
STATGROUP_Anim
, );
32
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"AnimGameThreadTime"
),
STAT_AnimGameThreadTime
,
STATGROUP_Anim
,
ENGINE_API
);
33
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"PreUpdateAnimation"
),
STAT_PreUpdateAnimation
,
STATGROUP_Anim
, );
34
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"UpdateAnimation"
),
STAT_UpdateAnimation
,
STATGROUP_Anim
, );
35
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"PostUpdateAnimation"
),
STAT_PostUpdateAnimation
,
STATGROUP_Anim
, );
36
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"BlueprintUpdateAnimation"
),
STAT_BlueprintUpdateAnimation
,
STATGROUP_Anim
, );
37
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"NativeUpdateAnimation"
),
STAT_NativeUpdateAnimation
,
STATGROUP_Anim
, );
38
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"NativeThreadSafeUpdateAnimation"
),
STAT_NativeThreadSafeUpdateAnimation
,
STATGROUP_Anim
, );
39
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"BlueprintPostEvaluateAnimation"
),
STAT_BlueprintPostEvaluateAnimation
,
STATGROUP_Anim
, );
40
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"MontageAdvance"
),
STAT_Montage_Advance
,
STATGROUP_Anim
, );
41
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"MontageUpdateWeight"
),
STAT_Montage_UpdateWeight
,
STATGROUP_Anim
, );
42
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"UpdateCurves"
),
STAT_UpdateCurves
,
STATGROUP_Anim
, );
43
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"UpdateCurvesToEvaluationContext"
),
STAT_UpdateCurvesToEvaluationContext
,
STATGROUP_Anim
, );
44
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"UpdateCurvesPostEvaluation"
),
STAT_UpdateCurvesPostEvaluation
,
STATGROUP_Anim
, );
45
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"TickAssetPlayerInstances"
),
STAT_TickAssetPlayerInstances
,
STATGROUP_Anim
, );
46
DECLARE_CYCLE_STAT_EXTERN
(
TEXT
(
"TickAssetPlayerInstance"
),
STAT_TickAssetPlayerInstance
,
STATGROUP_Anim
, );
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)
56
#include "
Animation/AnimMTStats.h
"
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)
60
#include "
Animation/AnimMTStats.h
"
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
AnimMTStats.h
CoreMinimal.h
TEXT
#define TEXT(x)
Definition
Platform.h:1272
Stats.h
DECLARE_CYCLE_STAT_EXTERN
#define DECLARE_CYCLE_STAT_EXTERN(CounterName, StatId, GroupId, API)
Definition
Stats.h:679
StaticCastSharedRef
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition
SharedPointer.h:127
Engine
Source
Runtime
Engine
Public
Animation
AnimStats.h
Generated by
1.9.8