Performance & LOD

Frame Budget Calculator

Direct answer

A frame rate target is a time budget: one thousand divided by the target frame rate. Sixty frames per second gives 16.67 ms, thirty gives 33.33 ms, one hundred and twenty gives 8.33 ms. Everything in the frame has to fit inside that number, including the slack you leave for the worst case.

fps
%

Shipping to the average frame means missing the target whenever anything happens.

ms
ms
ms
ms
ms

Result

Frame budget
ms
Working budget after reserve
ms
Currently allocated
ms
Headroom left
ms
Frame rate this actually delivers
fps
Status
Game Render Geometry Shadows Post Working budget

Method & assumptions

How this is worked out

The budget is 1000 / target fps milliseconds. The reserve then takes a slice off the top, because a game that exactly fills its budget on an average frame drops below target the moment anything unusual happens: a particle burst, a shader compile, a level stream.

The categories are deliberately coarse. The point is not an accurate model of your renderer, it is to force the trade-off into the open: if shadows want another millisecond, that millisecond has to come from somewhere else in the list.

The frame rate actually delivered assumes the CPU and GPU work shown here does not overlap. Real engines pipeline these, so treat the figure as the pessimistic end.

Frame budgets at common targets

TargetBudgetWith 15 % reserve
24 fps (cinematic)41.67 ms35.42 ms
30 fps33.33 ms28.33 ms
60 fps16.67 ms14.17 ms
90 fps (VR minimum)11.11 ms9.44 ms
120 fps8.33 ms7.08 ms
144 fps6.94 ms5.90 ms

VR is the unforgiving case: a missed frame is not a stutter, it is nausea. Reserve considerably more than 15 % there.

Questions

How many milliseconds is 60 fps?

16.67 ms per frame. That is the total for everything: gameplay, animation, culling, draw submission, geometry, shadows, post-processing and the presentation itself. Miss it and you are not at 60 fps any more.

Why should I reserve headroom instead of using the full budget?

Because the number that matters to players is the worst frame, not the average one. A game that averages exactly 16.67 ms is stuttering constantly. Reserving ten to twenty per cent is what turns a nominal 60 fps into a stable one.

Do CPU and GPU times add up like this?

Not exactly. Engines run them in parallel across frames, so the real frame time is closer to the larger of the two than to their sum. Adding them, as this calculator does, gives you the pessimistic bound, which is the safer one to plan against.