UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ParticleEmitterInstances.cpp File Reference

Classes

struct  FFastPoolFreePool
 

Macros

#define USE_FAST_PARTICLE_POOL   1
 
#define FASTPARTICLEALLOC_CHECKSIZE   0
 

Functions

 DEFINE_STAT (STAT_ParticleDrawCalls)
 
 DEFINE_STAT (STAT_SpriteParticles)
 
 DEFINE_STAT (STAT_SpriteParticlesSpawned)
 
 DEFINE_STAT (STAT_SpriteParticlesUpdated)
 
 DEFINE_STAT (STAT_SpriteParticlesKilled)
 
 DEFINE_STAT (STAT_SortingTime)
 
 DEFINE_STAT (STAT_SpriteRenderingTime)
 
 DEFINE_STAT (STAT_SpriteTickTime)
 
 DEFINE_STAT (STAT_SpriteSpawnTime)
 
 DEFINE_STAT (STAT_PSysCompTickTime)
 
 DEFINE_STAT (STAT_ParticlePoolTime)
 
 DEFINE_STAT (STAT_ParticleComputeTickTime)
 
 DEFINE_STAT (STAT_ParticleFinalizeTickTime)
 
 DEFINE_STAT (STAT_GTSTallTime)
 
 DEFINE_STAT (STAT_ParticleRenderingTime)
 
 DEFINE_STAT (STAT_ParticlePackingTime)
 
 DEFINE_STAT (STAT_ParticleSetTemplateTime)
 
 DEFINE_STAT (STAT_ParticleInitializeTime)
 
 DEFINE_STAT (STAT_ParticleActivateTime)
 
 DEFINE_STAT (STAT_ParticleUpdateBounds)
 
 DEFINE_STAT (STAT_ParticleAsyncTime)
 
 DEFINE_STAT (STAT_ParticleAsyncWaitTime)
 
 DEFINE_STAT (STAT_MeshParticles)
 
 DEFINE_STAT (STAT_MeshRenderingTime)
 
 DEFINE_STAT (STAT_MeshTickTime)
 
 DEFINE_STAT (STAT_MeshParticlePolys)
 
 DEFINE_STAT (STAT_GPUSpriteParticles)
 
 DEFINE_STAT (STAT_GPUSpritesSpawned)
 
 DEFINE_STAT (STAT_SortedGPUParticles)
 
 DEFINE_STAT (STAT_SortedGPUEmitters)
 
 DEFINE_STAT (STAT_FreeGPUTiles)
 
 DEFINE_STAT (STAT_GPUParticleMisc3)
 
 DEFINE_STAT (STAT_GPUParticleMisc2)
 
 DEFINE_STAT (STAT_GPUParticleMisc1)
 
 DEFINE_STAT (STAT_GPUParticleBuildSimCmdsTime)
 
 DEFINE_STAT (STAT_GPUParticleTickTime)
 
 DEFINE_STAT (STAT_GPUSpriteRenderingTime)
 
 DEFINE_STAT (STAT_GPUSpritePreRenderTime)
 
 DEFINE_STAT (STAT_GPUSpriteSpawnTime)
 
 DEFINE_STAT (STAT_GPUSpriteTickTime)
 
 DEFINE_STAT (STAT_GPUSingleIterationEmitters)
 
 DEFINE_STAT (STAT_GPUMultiIterationsEmitters)
 
 DEFINE_STAT (STAT_GPUParticlesInjectionTime)
 
 DEFINE_STAT (STAT_GPUParticlesSimulationCommands)
 
 DEFINE_STAT (STAT_GTParticleData)
 
 DEFINE_STAT (STAT_DynamicSpriteGTMem)
 
 DEFINE_STAT (STAT_DynamicSubUVGTMem)
 
 DEFINE_STAT (STAT_DynamicMeshGTMem)
 
 DEFINE_STAT (STAT_DynamicBeamGTMem)
 
 DEFINE_STAT (STAT_DynamicRibbonGTMem)
 
 DEFINE_STAT (STAT_DynamicAnimTrailGTMem)
 
 DEFINE_STAT (STAT_DynamicUntrackedGTMem)
 
 DEFINE_STAT (STAT_RTParticleData)
 
 DEFINE_STAT (STAT_GTParticleData_MAX)
 
 DEFINE_STAT (STAT_RTParticleData_MAX)
 
 DEFINE_STAT (STAT_RTParticleData_Largest)
 
 DEFINE_STAT (STAT_RTParticleData_Largest_MAX)
 
 DEFINE_STAT (STAT_DynamicPSysCompMem)
 
 DEFINE_STAT (STAT_DynamicPSysCompMem_MAX)
 
 DEFINE_STAT (STAT_DynamicPSysCompCount)
 
 DEFINE_STAT (STAT_DynamicPSysCompCount_MAX)
 
 DEFINE_STAT (STAT_DynamicEmitterMem)
 
 DEFINE_STAT (STAT_DynamicEmitterMem_MAX)
 
 DEFINE_STAT (STAT_DynamicEmitterCount)
 
 DEFINE_STAT (STAT_DynamicEmitterCount_MAX)
 
 DEFINE_STAT (STAT_DynamicEmitterGTMem_Waste)
 
 DEFINE_STAT (STAT_DynamicEmitterGTMem_Waste_MAX)
 
 DEFINE_STAT (STAT_DynamicEmitterGTMem_Largest)
 
 DEFINE_STAT (STAT_DynamicEmitterGTMem_Largest_MAX)
 
 DEFINE_STAT (STAT_DynamicSpriteCount)
 
 DEFINE_STAT (STAT_DynamicSpriteCount_MAX)
 
 DEFINE_STAT (STAT_DynamicSpriteGTMem_MAX)
 
 DEFINE_STAT (STAT_DynamicSubUVCount)
 
 DEFINE_STAT (STAT_DynamicSubUVCount_MAX)
 
 DEFINE_STAT (STAT_DynamicSubUVGTMem_Max)
 
 DEFINE_STAT (STAT_DynamicMeshCount)
 
 DEFINE_STAT (STAT_DynamicMeshCount_MAX)
 
 DEFINE_STAT (STAT_DynamicMeshGTMem_MAX)
 
 DEFINE_STAT (STAT_DynamicBeamCount)
 
 DEFINE_STAT (STAT_DynamicBeamCount_MAX)
 
 DEFINE_STAT (STAT_DynamicBeamGTMem_MAX)
 
 DEFINE_STAT (STAT_DynamicRibbonCount)
 
 DEFINE_STAT (STAT_DynamicRibbonCount_MAX)
 
 DEFINE_STAT (STAT_DynamicRibbonGTMem_MAX)
 
 DEFINE_STAT (STAT_DynamicAnimTrailCount)
 
 DEFINE_STAT (STAT_DynamicAnimTrailCount_MAX)
 
 DEFINE_STAT (STAT_DynamicAnimTrailGTMem_MAX)
 
 DEFINE_STAT (STAT_DynamicUntrackedGTMem_MAX)
 
 DECLARE_CYCLE_STAT (TEXT("EmitterInstance Init GT"), STAT_ParticleEmitterInstance_Init, STATGROUP_Particles)
 
 DECLARE_CYCLE_STAT (TEXT("MeshEmitterInstance Init GT"), STAT_MeshEmitterInstance_Init, STATGROUP_Particles)
 
 DECLARE_CYCLE_STAT (TEXT("EmitterInstance InitParams GT"), STAT_ParticleEmitterInstance_InitParameters, STATGROUP_Particles)
 
 DECLARE_CYCLE_STAT (TEXT("MeshEmitterInstance InitParams GT"), STAT_MeshEmitterInstance_InitParameters, STATGROUP_Particles)
 
 DECLARE_CYCLE_STAT (TEXT("EmitterInstance Init Sizes GT"), STAT_ParticleEmitterInstance_InitSize, STATGROUP_Particles)
 
 DECLARE_CYCLE_STAT (TEXT("EmitterInstance PrepPerInstanceBlock GT"), STAT_PrepPerInstanceBlock, STATGROUP_Particles)
 
 DECLARE_CYCLE_STAT (TEXT("EmitterInstance Resize GT"), STAT_ParticleEmitterInstance_Resize, STATGROUP_Particles)
 

Variables

FCriticalSection GFastPoolsCriticalSection
 
TMap< int32, FFastPoolFreePoolGFastPoolFreedAllocations
 
int32 GFreePoolSizeBytes = 0
 

Macro Definition Documentation

◆ FASTPARTICLEALLOC_CHECKSIZE

#define FASTPARTICLEALLOC_CHECKSIZE   0

◆ USE_FAST_PARTICLE_POOL

#define USE_FAST_PARTICLE_POOL   1

Function Documentation

◆ DECLARE_CYCLE_STAT() [1/7]

DECLARE_CYCLE_STAT ( TEXT("EmitterInstance Init GT" ,
STAT_ParticleEmitterInstance_Init  ,
STATGROUP_Particles   
)

◆ DECLARE_CYCLE_STAT() [2/7]

DECLARE_CYCLE_STAT ( TEXT("EmitterInstance Init Sizes GT" ,
STAT_ParticleEmitterInstance_InitSize  ,
STATGROUP_Particles   
)

◆ DECLARE_CYCLE_STAT() [3/7]

DECLARE_CYCLE_STAT ( TEXT("EmitterInstance InitParams GT" ,
STAT_ParticleEmitterInstance_InitParameters  ,
STATGROUP_Particles   
)

◆ DECLARE_CYCLE_STAT() [4/7]

DECLARE_CYCLE_STAT ( TEXT("EmitterInstance PrepPerInstanceBlock GT" ,
STAT_PrepPerInstanceBlock  ,
STATGROUP_Particles   
)

◆ DECLARE_CYCLE_STAT() [5/7]

DECLARE_CYCLE_STAT ( TEXT("EmitterInstance Resize GT" ,
STAT_ParticleEmitterInstance_Resize  ,
STATGROUP_Particles   
)

◆ DECLARE_CYCLE_STAT() [6/7]

DECLARE_CYCLE_STAT ( TEXT("MeshEmitterInstance Init GT" ,
STAT_MeshEmitterInstance_Init  ,
STATGROUP_Particles   
)

◆ DECLARE_CYCLE_STAT() [7/7]

DECLARE_CYCLE_STAT ( TEXT("MeshEmitterInstance InitParams GT" ,
STAT_MeshEmitterInstance_InitParameters  ,
STATGROUP_Particles   
)

◆ DEFINE_STAT() [1/88]

DEFINE_STAT ( STAT_DynamicAnimTrailCount  )

◆ DEFINE_STAT() [2/88]

DEFINE_STAT ( STAT_DynamicAnimTrailCount_MAX  )

◆ DEFINE_STAT() [3/88]

DEFINE_STAT ( STAT_DynamicAnimTrailGTMem  )

◆ DEFINE_STAT() [4/88]

DEFINE_STAT ( STAT_DynamicAnimTrailGTMem_MAX  )

◆ DEFINE_STAT() [5/88]

DEFINE_STAT ( STAT_DynamicBeamCount  )

◆ DEFINE_STAT() [6/88]

DEFINE_STAT ( STAT_DynamicBeamCount_MAX  )

◆ DEFINE_STAT() [7/88]

DEFINE_STAT ( STAT_DynamicBeamGTMem  )

◆ DEFINE_STAT() [8/88]

DEFINE_STAT ( STAT_DynamicBeamGTMem_MAX  )

◆ DEFINE_STAT() [9/88]

DEFINE_STAT ( STAT_DynamicEmitterCount  )

◆ DEFINE_STAT() [10/88]

DEFINE_STAT ( STAT_DynamicEmitterCount_MAX  )

◆ DEFINE_STAT() [11/88]

◆ DEFINE_STAT() [12/88]

◆ DEFINE_STAT() [13/88]

DEFINE_STAT ( STAT_DynamicEmitterGTMem_Waste  )

◆ DEFINE_STAT() [14/88]

◆ DEFINE_STAT() [15/88]

DEFINE_STAT ( STAT_DynamicEmitterMem  )

◆ DEFINE_STAT() [16/88]

DEFINE_STAT ( STAT_DynamicEmitterMem_MAX  )

◆ DEFINE_STAT() [17/88]

DEFINE_STAT ( STAT_DynamicMeshCount  )

◆ DEFINE_STAT() [18/88]

DEFINE_STAT ( STAT_DynamicMeshCount_MAX  )

◆ DEFINE_STAT() [19/88]

DEFINE_STAT ( STAT_DynamicMeshGTMem  )

◆ DEFINE_STAT() [20/88]

DEFINE_STAT ( STAT_DynamicMeshGTMem_MAX  )

◆ DEFINE_STAT() [21/88]

DEFINE_STAT ( STAT_DynamicPSysCompCount  )

◆ DEFINE_STAT() [22/88]

DEFINE_STAT ( STAT_DynamicPSysCompCount_MAX  )

◆ DEFINE_STAT() [23/88]

DEFINE_STAT ( STAT_DynamicPSysCompMem  )

◆ DEFINE_STAT() [24/88]

DEFINE_STAT ( STAT_DynamicPSysCompMem_MAX  )

◆ DEFINE_STAT() [25/88]

DEFINE_STAT ( STAT_DynamicRibbonCount  )

◆ DEFINE_STAT() [26/88]

DEFINE_STAT ( STAT_DynamicRibbonCount_MAX  )

◆ DEFINE_STAT() [27/88]

DEFINE_STAT ( STAT_DynamicRibbonGTMem  )

◆ DEFINE_STAT() [28/88]

DEFINE_STAT ( STAT_DynamicRibbonGTMem_MAX  )

◆ DEFINE_STAT() [29/88]

DEFINE_STAT ( STAT_DynamicSpriteCount  )

◆ DEFINE_STAT() [30/88]

DEFINE_STAT ( STAT_DynamicSpriteCount_MAX  )

◆ DEFINE_STAT() [31/88]

DEFINE_STAT ( STAT_DynamicSpriteGTMem  )

◆ DEFINE_STAT() [32/88]

DEFINE_STAT ( STAT_DynamicSpriteGTMem_MAX  )

◆ DEFINE_STAT() [33/88]

DEFINE_STAT ( STAT_DynamicSubUVCount  )

◆ DEFINE_STAT() [34/88]

DEFINE_STAT ( STAT_DynamicSubUVCount_MAX  )

◆ DEFINE_STAT() [35/88]

DEFINE_STAT ( STAT_DynamicSubUVGTMem  )

◆ DEFINE_STAT() [36/88]

DEFINE_STAT ( STAT_DynamicSubUVGTMem_Max  )

◆ DEFINE_STAT() [37/88]

DEFINE_STAT ( STAT_DynamicUntrackedGTMem  )

◆ DEFINE_STAT() [38/88]

DEFINE_STAT ( STAT_DynamicUntrackedGTMem_MAX  )

◆ DEFINE_STAT() [39/88]

DEFINE_STAT ( STAT_FreeGPUTiles  )

◆ DEFINE_STAT() [40/88]

◆ DEFINE_STAT() [41/88]

◆ DEFINE_STAT() [42/88]

DEFINE_STAT ( STAT_GPUParticleMisc1  )

◆ DEFINE_STAT() [43/88]

DEFINE_STAT ( STAT_GPUParticleMisc2  )

◆ DEFINE_STAT() [44/88]

DEFINE_STAT ( STAT_GPUParticleMisc3  )

◆ DEFINE_STAT() [45/88]

DEFINE_STAT ( STAT_GPUParticlesInjectionTime  )

◆ DEFINE_STAT() [46/88]

◆ DEFINE_STAT() [47/88]

DEFINE_STAT ( STAT_GPUParticleTickTime  )

◆ DEFINE_STAT() [48/88]

◆ DEFINE_STAT() [49/88]

DEFINE_STAT ( STAT_GPUSpriteParticles  )

GPU Particle stats.

◆ DEFINE_STAT() [50/88]

DEFINE_STAT ( STAT_GPUSpritePreRenderTime  )

◆ DEFINE_STAT() [51/88]

DEFINE_STAT ( STAT_GPUSpriteRenderingTime  )

◆ DEFINE_STAT() [52/88]

DEFINE_STAT ( STAT_GPUSpriteSpawnTime  )

◆ DEFINE_STAT() [53/88]

DEFINE_STAT ( STAT_GPUSpritesSpawned  )

◆ DEFINE_STAT() [54/88]

DEFINE_STAT ( STAT_GPUSpriteTickTime  )

◆ DEFINE_STAT() [55/88]

DEFINE_STAT ( STAT_GTParticleData  )

Particle memory stats

◆ DEFINE_STAT() [56/88]

DEFINE_STAT ( STAT_GTParticleData_MAX  )

◆ DEFINE_STAT() [57/88]

DEFINE_STAT ( STAT_GTSTallTime  )

◆ DEFINE_STAT() [58/88]

DEFINE_STAT ( STAT_MeshParticlePolys  )

◆ DEFINE_STAT() [59/88]

DEFINE_STAT ( STAT_MeshParticles  )

◆ DEFINE_STAT() [60/88]

DEFINE_STAT ( STAT_MeshRenderingTime  )

◆ DEFINE_STAT() [61/88]

DEFINE_STAT ( STAT_MeshTickTime  )

◆ DEFINE_STAT() [62/88]

DEFINE_STAT ( STAT_ParticleActivateTime  )

◆ DEFINE_STAT() [63/88]

DEFINE_STAT ( STAT_ParticleAsyncTime  )

◆ DEFINE_STAT() [64/88]

DEFINE_STAT ( STAT_ParticleAsyncWaitTime  )

◆ DEFINE_STAT() [65/88]

DEFINE_STAT ( STAT_ParticleComputeTickTime  )

◆ DEFINE_STAT() [66/88]

DEFINE_STAT ( STAT_ParticleDrawCalls  )

◆ DEFINE_STAT() [67/88]

DEFINE_STAT ( STAT_ParticleFinalizeTickTime  )

◆ DEFINE_STAT() [68/88]

DEFINE_STAT ( STAT_ParticleInitializeTime  )

◆ DEFINE_STAT() [69/88]

DEFINE_STAT ( STAT_ParticlePackingTime  )

◆ DEFINE_STAT() [70/88]

DEFINE_STAT ( STAT_ParticlePoolTime  )

◆ DEFINE_STAT() [71/88]

DEFINE_STAT ( STAT_ParticleRenderingTime  )

◆ DEFINE_STAT() [72/88]

DEFINE_STAT ( STAT_ParticleSetTemplateTime  )

◆ DEFINE_STAT() [73/88]

DEFINE_STAT ( STAT_ParticleUpdateBounds  )

◆ DEFINE_STAT() [74/88]

DEFINE_STAT ( STAT_PSysCompTickTime  )

◆ DEFINE_STAT() [75/88]

DEFINE_STAT ( STAT_RTParticleData  )

◆ DEFINE_STAT() [76/88]

DEFINE_STAT ( STAT_RTParticleData_Largest  )

◆ DEFINE_STAT() [77/88]

◆ DEFINE_STAT() [78/88]

DEFINE_STAT ( STAT_RTParticleData_MAX  )

◆ DEFINE_STAT() [79/88]

DEFINE_STAT ( STAT_SortedGPUEmitters  )

◆ DEFINE_STAT() [80/88]

DEFINE_STAT ( STAT_SortedGPUParticles  )

◆ DEFINE_STAT() [81/88]

DEFINE_STAT ( STAT_SortingTime  )

◆ DEFINE_STAT() [82/88]

DEFINE_STAT ( STAT_SpriteParticles  )

◆ DEFINE_STAT() [83/88]

DEFINE_STAT ( STAT_SpriteParticlesKilled  )

◆ DEFINE_STAT() [84/88]

DEFINE_STAT ( STAT_SpriteParticlesSpawned  )

◆ DEFINE_STAT() [85/88]

DEFINE_STAT ( STAT_SpriteParticlesUpdated  )

◆ DEFINE_STAT() [86/88]

DEFINE_STAT ( STAT_SpriteRenderingTime  )

◆ DEFINE_STAT() [87/88]

DEFINE_STAT ( STAT_SpriteSpawnTime  )

◆ DEFINE_STAT() [88/88]

DEFINE_STAT ( STAT_SpriteTickTime  )

Variable Documentation

◆ GFastPoolFreedAllocations

TMap<int32, FFastPoolFreePool> GFastPoolFreedAllocations

◆ GFastPoolsCriticalSection

FCriticalSection GFastPoolsCriticalSection

◆ GFreePoolSizeBytes

int32 GFreePoolSizeBytes = 0