Batch Processing: how I reduced CPU overhead by 99.5% in Unity Working on tower defense optimizat...Batch Processing: how I reduced CPU overhead by 99.5% in Unity Working on tower defense optimizat...
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
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
Post image
Back to feed
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started