UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ParticlePerfStats.h File Reference
#include "Templates/Atomic.h"
#include "CoreMinimal.h"
#include "CoreTypes.h"
#include "HAL/PlatformTime.h"
#include "Containers/Array.h"
#include "ProfilingDebugging/CsvProfiler.h"

Go to the source code of this file.

Classes

struct  FParticlePerfStats_GT
 
struct  FParticlePerfStats_RT
 
struct  FParticlePerfStats_GPU
 
struct  FParticlePerfStats
 
struct  FParticlePerfStatsContext
 
struct  FParticlePerfStatScope< TWriterFunc >
 

Macros

#define WITH_GLOBAL_RUNTIME_FX_BUDGET   (!UE_SERVER)
 
#define WITH_PARTICLE_PERF_STATS   1
 
#define WITH_PER_SYSTEM_PARTICLE_PERF_STATS   (WITH_PARTICLE_PERF_STATS && !UE_BUILD_SHIPPING)
 
#define WITH_PER_COMPONENT_PARTICLE_PERF_STATS   (WITH_PARTICLE_PERF_STATS && !UE_BUILD_SHIPPING)
 
#define WITH_PARTICLE_PERF_CSV_STATS   WITH_PER_SYSTEM_PARTICLE_PERF_STATS && CSV_PROFILER_STATS && !UE_BUILD_SHIPPING
 
#define PARTICLE_PERF_STAT_CYCLES_COMMON(CONTEXT, THREAD, NAME)
 
#define PARTICLE_PERF_STAT_CYCLES_WITH_COUNT_COMMON(CONTEXT, THREAD, NAME, COUNT)
 
#define PARTICLE_PERF_STAT_CYCLES_GT(CONTEXT, NAME)   PARTICLE_PERF_STAT_CYCLES_COMMON(CONTEXT, GameThread, NAME)
 
#define PARTICLE_PERF_STAT_CYCLES_RT(CONTEXT, NAME)   PARTICLE_PERF_STAT_CYCLES_COMMON(CONTEXT, RenderThread, NAME)
 
#define PARTICLE_PERF_STAT_CYCLES_WITH_COUNT_GT(CONTEXT, NAME, COUNT)   PARTICLE_PERF_STAT_CYCLES_WITH_COUNT_COMMON(CONTEXT, GameThread, NAME, COUNT)
 
#define PARTICLE_PERF_STAT_CYCLES_WITH_COUNT_RT(CONTEXT, NAME, COUNT)   PARTICLE_PERF_STAT_CYCLES_WITH_COUNT_COMMON(CONTEXT, RenderThread, NAME, COUNT)
 

Typedefs

typedef TFunction< void(FParticlePerfStats *Stats, uint64 Cycles)> FParticlePerfStatsWriterFunc
 

Functions

 CSV_DECLARE_CATEGORY_MODULE_EXTERN (ENGINE_API, Particles)
 

Macro Definition Documentation

◆ PARTICLE_PERF_STAT_CYCLES_COMMON

#define PARTICLE_PERF_STAT_CYCLES_COMMON (   CONTEXT,
  THREAD,
  NAME 
)
Value:
{\
inline static void Write(FParticlePerfStats* Stats, uint64 Cycles, int32 Count)\
{\
if (Stats){ Stats->Get##THREAD##Stats().NAME##Cycles += Cycles; }\
}\
};\
#define ANONYMOUS_VARIABLE(Name)
Definition CoreMiscDefines.h:182
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition ParticlePerfStats.h:381
Definition ParticlePerfStats.h:171

◆ PARTICLE_PERF_STAT_CYCLES_GT

#define PARTICLE_PERF_STAT_CYCLES_GT (   CONTEXT,
  NAME 
)    PARTICLE_PERF_STAT_CYCLES_COMMON(CONTEXT, GameThread, NAME)

◆ PARTICLE_PERF_STAT_CYCLES_RT

#define PARTICLE_PERF_STAT_CYCLES_RT (   CONTEXT,
  NAME 
)    PARTICLE_PERF_STAT_CYCLES_COMMON(CONTEXT, RenderThread, NAME)

◆ PARTICLE_PERF_STAT_CYCLES_WITH_COUNT_COMMON

#define PARTICLE_PERF_STAT_CYCLES_WITH_COUNT_COMMON (   CONTEXT,
  THREAD,
  NAME,
  COUNT 
)
Value:
{\
inline static void Write(FParticlePerfStats* Stats, uint64 Cycles, int32 Count)\
{\
if(Stats)\
{\
Stats->Get##THREAD##Stats().NAME##Cycles += Cycles; \
Stats->Get##THREAD##Stats().NumInstances += Count; \
}\
}\
};\

◆ PARTICLE_PERF_STAT_CYCLES_WITH_COUNT_GT

#define PARTICLE_PERF_STAT_CYCLES_WITH_COUNT_GT (   CONTEXT,
  NAME,
  COUNT 
)    PARTICLE_PERF_STAT_CYCLES_WITH_COUNT_COMMON(CONTEXT, GameThread, NAME, COUNT)

◆ PARTICLE_PERF_STAT_CYCLES_WITH_COUNT_RT

#define PARTICLE_PERF_STAT_CYCLES_WITH_COUNT_RT (   CONTEXT,
  NAME,
  COUNT 
)    PARTICLE_PERF_STAT_CYCLES_WITH_COUNT_COMMON(CONTEXT, RenderThread, NAME, COUNT)

◆ WITH_GLOBAL_RUNTIME_FX_BUDGET

#define WITH_GLOBAL_RUNTIME_FX_BUDGET   (!UE_SERVER)

◆ WITH_PARTICLE_PERF_CSV_STATS

◆ WITH_PARTICLE_PERF_STATS

#define WITH_PARTICLE_PERF_STATS   1

◆ WITH_PER_COMPONENT_PARTICLE_PERF_STATS

#define WITH_PER_COMPONENT_PARTICLE_PERF_STATS   (WITH_PARTICLE_PERF_STATS && !UE_BUILD_SHIPPING)

◆ WITH_PER_SYSTEM_PARTICLE_PERF_STATS

#define WITH_PER_SYSTEM_PARTICLE_PERF_STATS   (WITH_PARTICLE_PERF_STATS && !UE_BUILD_SHIPPING)

Typedef Documentation

◆ FParticlePerfStatsWriterFunc

Function Documentation

◆ CSV_DECLARE_CATEGORY_MODULE_EXTERN()

CSV_DECLARE_CATEGORY_MODULE_EXTERN ( ENGINE_API  ,
Particles   
)