0
0
Unityframework~8 mins

Sub-emitters in Unity - Performance & Optimization

Choose your learning style9 modes available
Performance: Sub-emitters
MEDIUM IMPACT
Sub-emitters affect the rendering performance and frame rate by adding extra particle systems triggered by parent particles.
Adding effects triggered by particles, like sparks or smoke bursts
Unity
Use fewer sub-emitters with optimized particle counts and lifetime;
Reuse particle systems with pooling instead of creating new ones each time.
Reduces the number of active particle systems and draw calls, lowering CPU/GPU load.
📈 Performance GainSingle reflow per frame with fewer draw calls, smoother frame rates
Adding effects triggered by particles, like sparks or smoke bursts
Unity
var subEmitter = new ParticleSystem();
subEmitter.Emit(100);
// Each particle triggers a new sub-emitter with many particles
Triggers many particle systems simultaneously, causing high CPU and GPU load.
📉 Performance CostTriggers multiple reflows in rendering pipeline and increases draw calls significantly
Performance Comparison
PatternDOM OperationsReflowsPaint CostVerdict
Many sub-emitters with high particle countsN/AMultiple GPU draw callsHigh GPU rasterization cost[X] Bad
Optimized sub-emitters with pooling and fewer particlesN/ASingle GPU draw call batchLower GPU rasterization cost[OK] Good
Rendering Pipeline
Sub-emitters add extra particle systems that the GPU must render and the CPU must update each frame, increasing workload in the rendering pipeline.
Update
Draw Calls
GPU Rasterization
⚠️ BottleneckDraw Calls and GPU Rasterization due to many overlapping particle systems
Optimization Tips
1Limit the number of sub-emitters to reduce draw calls.
2Reuse particle systems with pooling to avoid overhead.
3Keep particle counts and lifetimes as low as possible for better frame rates.
Performance Quiz - 3 Questions
Test your performance knowledge
What is the main performance cost of using many sub-emitters in Unity particle systems?
AIncreased draw calls and GPU workload
BIncreased network requests
CMore memory leaks
DSlower disk access
DevTools: Unity Profiler
How to check: Open Unity Profiler, run the scene with sub-emitters, check CPU and GPU usage under Rendering and Particle System sections.
What to look for: High draw calls and GPU time indicate performance issues; optimized sub-emitters show reduced draw calls and smoother frame times.