Batch Processing: how I reduced CPU overhead by 99.5% in Uni... by Aztoon Lab Batch Processing: how I reduced CPU overhead by 99.5% in Uni... by Aztoon Lab

Batch Processing: how I reduced CPU overhead by 99.5% in Uni...

Aztoon Lab

Aztoon Lab

Batch Processing: how I reduced CPU overhead by 99.5% in Unity
Working on tower defense optimization. Initial state: 64 FPS, game lags at wave 7.
Opened Profiler - found the problem: 11,900 Update() calls per second.
Every Enemy, Tower, Projectile, StatusEffect had its own Update() method.
The Problem: 500 enemies × Update() = 3,000 calls/sec 600 towers × Update() = 3,600 calls/sec 1,800 effects × Update() = 10,800 calls/sec Total: 11,900 calls/frame
The Solution: System-based architecture
Instead of 500 individual Update() → one MovementSystem.Tick() processing all entities in a single pass.
Results:
Update() calls: 11,900/sec → 50/sec (-99.5%)
CPU time: 15.6ms → 6.9ms (-56%)
FPS: 63.9 → 144.1 (+125%)
Key takeaway: Batch processing beats individual updates 20× in performance.
#Unity3D #SystemArchitecture
Like this project

Posted Jan 7, 2026

Batch Processing: how I reduced CPU overhead by 99.5% in Unity Working on tower defense optimization. Initial state: 64 FPS, game lags at wave 7. Opened Prof...