Frame budget
16.7 ms to do everything, every frame.
At 60 fps every frame has 16.7 ms for input, gameplay, physics, AI, animation, rendering and audio together. Anything over the budget drops a frame. Splitting the budget between systems and measuring each one tells you what to fix, instead of guessing.
Try this: Dodge the bullet storm for 20 seconds. As bullets pile up the frame goes over 16.7 ms and the game turns choppy. Switch to Optimised and try again.
Unoptimised: once the bullets cost more than 16.7 ms, frames drop and dodging gets hard.
Prompt bit
Works for 2D or 3D in any engine (Unity, Unreal, Godot, web). Paste the short one for a quick fix, or the detailed one when you want it done properly.
Set a frame budget: at 60 fps there are 16.7 ms per frame, so give gameplay, physics, AI, animation and rendering explicit millisecond budgets, profile on the slowest target device, and warn in the debug overlay when any frame exceeds 0.0167 s.
Manage the frame budget (2D or 3D, any engine; Unity Profiler, Unreal Insights and stat unit, Godot Profiler, browser Performance panel). Decide the target frame rate per platform: 60 fps is 16.7 ms, 30 fps 33.3 ms, 120 fps 8.3 ms. Leave headroom (aim for about 80% of the budget) for spikes and OS work. Give each system a budget (for example gameplay 2 ms, physics 2 ms, AI 2 ms, animation 2 ms, rendering CPU 4 ms, audio 1 ms) and measure each with profiler markers. Profile on the slowest target device in the busiest scene, not on your dev machine. Track CPU and GPU separately (the slower one sets the frame rate). Add an on-screen frame time graph in development builds and flag frames over budget.
Where it's used
- Every game: stable frame rate
- Mobile games: battery and thermal limits
- VR: 90 or 120 fps budgets are strict
- Consoles: certification frame rate targets
- Competitive games: 144 fps and above
Common mistakes
Measuring average fps instead of frame time and spikes, profiling only on a fast PC, no per-system budgets so nobody owns the overrun, ignoring GPU time, and leaving no headroom.
Writing this with an AI assistant? See our best AI coding assistants for game developers.
Missing a concept? Request one.



