10#define CHAOS_COLLISION_STAT(X)
11#define CHAOS_COLLISION_STAT_DISABLED(X) X
13#define CHAOS_COLLISION_STAT(X) X;
14#define CHAOS_COLLISION_STAT_DISABLED(X)
19 namespace CollisionStats
22 static constexpr int32 BucketSizes2[] = { 0,1,4,8,16,32,64,128,512,
MAX_int32 };
24 template <
bool bGatherStats>
80 OutLog += FString::Printf(
TEXT(
"\t[%4d - %4d) (%4d) |"), BucketSizes2[Idx - 1], BucketSizes2[Idx], BucketCount[Idx]);
84 OutLog += FString::Printf(
TEXT(
"\t[%4d - inf) (%4d) |"), BucketSizes2[Idx - 1], BucketCount[Idx]);
139#if CHAOS_PARTICLEHANDLE_TODO
141 OutLog = FString::Printf(
TEXT(
"ComputeConstraints stats:\n"
142 "Total Particles:%d\nSimulated Particles:%d (%.2f%%)\n"
143 "Max candidates per instance:%d (%.2f%%)\n"
144 "Max candidates skipped per instance (NP skipped):%d (%.2f%%)\n"
145 "Max narrow phase tests per instance:%d (%.2f%%)\n"
146 "Max narrow phase rejected per instance (NP rejected):%d (%.2f%%)\n"
147 "Constraints generated:%d\n"
158 OutLog += FString::Printf(
TEXT(
"Potentials per instance distribution:\n"));
162 OutLog += FString::Printf(
TEXT(
"\nCandidates skipped per instance (NP skipped) distribution:\n"));
165 OutLog += FString::Printf(
TEXT(
"\nNarrow phase performed per instance distribution:\n"));
168 OutLog += FString::Printf(
TEXT(
"\nNarrow phase candidates rejected per instance distribution:\n"));
171 OutLog += FString::Printf(
TEXT(
"\nBounds distribution:\n"));
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define CHAOS_COLLISION_STAT_DISABLED(X)
Definition StatsData.h:14
#define CHAOS_COLLISION_STAT(X)
Definition StatsData.h:13
return true
Definition ExternalRpcRegistry.cpp:601
#define UE_LOG(CategoryName, Verbosity, Format,...)
Definition LogMacros.h:270
#define MAX_int32
Definition NumericLimits.h:25
#define UE_ARRAY_COUNT(array)
Definition UnrealTemplate.h:212
Definition Constraints.Build.cs:6
Definition SkeletalMeshComponent.h:307
CHAOS_API bool bPendingHierarchyDump
Definition PBDRigidsEvolutionGBF.cpp:38
Definition StatsData.h:98
void IncrementCountNP(int32 Count=1)
Definition StatsData.h:118
FStatHelper< true > NarrowPhaseSkipped
Definition StatsData.h:186
void IncrementSimulatedParticles()
Definition StatsData.h:102
FStatDataImp()
Definition StatsData.h:99
int32 NumPotentials
Definition StatsData.h:184
int32 CountNP
Definition StatsData.h:181
FStatHelper< true > NarrowPhasePerformed
Definition StatsData.h:187
void RecordBoundsData(const FAABB3 &Box1)
Definition StatsData.h:107
int32 RejectedNP
Definition StatsData.h:182
void Print()
Definition StatsData.h:136
int32 SimulatedParticles
Definition StatsData.h:183
FStatHelper< true > NarrowPhaseRejected
Definition StatsData.h:188
FStatHelper< true > BoundsDistribution
Definition StatsData.h:189
void FinalizeData()
Definition StatsData.h:128
FStatHelper< true > BroadphasePotentials
Definition StatsData.h:185
void IncrementRejectedNP()
Definition StatsData.h:123
void RecordBroadphasePotentials(int32 Num)
Definition StatsData.h:112
Definition StatsData.h:193
~FStatData()
Definition StatsData.h:200
FORCEINLINE void RecordBoundsData(const FAABB3 &Box1)
Definition StatsData.h:216
FORCEINLINE void IncrementSimulatedParticles()
Definition StatsData.h:211
FORCEINLINE void Print()
Definition StatsData.h:241
FORCEINLINE void RecordBroadphasePotentials(int32 Num)
Definition StatsData.h:221
FORCEINLINE void FinalizeData()
Definition StatsData.h:236
FORCEINLINE void IncrementRejectedNP()
Definition StatsData.h:231
FORCEINLINE void IncrementCountNP(int32 Count=1)
Definition StatsData.h:226
FORCEINLINE bool IsEnabled() const
Definition StatsData.h:205
FStatData(bool bGatherStats)
Definition StatsData.h:194
void Record(int32 Count)
Definition StatsData.h:46
FStatHelper()
Definition StatsData.h:40
int32 MaxCount
Definition StatsData.h:38
FString ToString() const
Definition StatsData.h:62
Definition StatsData.h:26
int32 MaxCount
Definition StatsData.h:27
FStatHelper()
Definition StatsData.h:29
void Record(int32 Count)
Definition StatsData.h:30
FString ToString() const
Definition StatsData.h:31
static UE_FORCEINLINE_HINT void * Memset(void *Dest, uint8 Char, SIZE_T Count)
Definition UnrealMemory.h:119