Equal average FPS can hide different interval patterns

Updated

An equal average does not require an equal sequence of frame intervals. A summary can hide occasional long intervals, and even a percentile can hide where those intervals occur. The worked examples below are deliberately constructed sequences. They explain the limits of a summary, not how smoothly a particular game or computer feels.

Calculate the average over the whole sequence

Start with 1000 intervals of 10 milliseconds each. Their total is 10000 milliseconds, so the full-sequence rate is 100 FPS: interval count multiplied by 1000, divided by total milliseconds. The average interval is 10 milliseconds. These definitions keep the count and elapsed time together instead of taking the arithmetic mean of reciprocal interval rates.

Now construct a different sequence with 990 intervals of 9 milliseconds and 10 intervals of 109 milliseconds. Its total is also 10000 milliseconds, and its full-sequence average is also 100 FPS. Most intervals are shorter, but some are much longer. The equal average establishes equal overall count per time here, not equal distribution.

See why a percentile does not tell the whole story

For 1000 samples, nearest-rank P99 selects the 990th value in ascending order. The constant sequence gives 10 milliseconds. In the mixed sequence, that rank is still among the 990 short intervals and gives 9 milliseconds, while the maximum is 109 milliseconds. A lower P99 therefore coexists with longer extremes in this constructed example.

This is not proof that the mixed sequence feels better. It is a counterexample to using P99 alone as a complete smoothness verdict. Keep the definition, sample count and maximum visible. Do not translate this percentile into a named low-FPS metric unless that metric's documented calculation actually matches.

Compare interval count with time share

Choose a classification budget corresponding to 60 FPS, approximately 16.67 milliseconds. In the mixed sequence, the 10 long intervals exceed that budget. They are 1 percent of the interval count, but their full durations sum to 1090 milliseconds, or 10.9 percent of the sequence's time. Count share and time share answer different questions.

This time share counts the full durations of exceeding intervals, not only the amount above the budget. It is also not a measured severity score for perceived stutter. Changing the selected budget changes the classification of the same sequence; it does not make the sequence itself faster or describe a universal threshold for all players.

Keep order when considering clusters

Place the long intervals apart in one version and together at the end in another. Both versions have the same values, average, nearest-rank P99 and maximum. Their order differs. With the chosen budget, the longest consecutive exceeding run is 1 interval in the spaced version and 10 in the clustered version.

A sorted distribution cannot show this difference in timing. Inspect the original order and annotate the task's context when comparing a real record. A cluster around a transition and scattered long intervals during active movement are different observations to investigate, but the graph alone does not identify their cause or predict every player's experience.

Plan a comparison that answers one question

For an actual comparison, define the game task, capture method, measured interval type, settings and relevant environment before changing something. Compare like tasks and keep unrelated conditions stable where practical. A short menu record and a longer demanding scene are not interchangeable merely because both produce an average FPS value.

If you repeat the task, keep all intended comparison records rather than selecting only the most flattering one. Explain different durations and transitions. Do not simply average rates from unequal records as though each represented the same elapsed time. Match count and elapsed time when calculating a combined full-sequence rate, and keep the original records available for context.

Report the observation before a hardware diagnosis

State what changed in the matched comparison: the average, distribution, extreme intervals or their order. A spike after a settings change can form a question, but does not automatically identify a hardware bottleneck or a driver fault. Confirm the measurement definition and task context before treating a displayed number as a cause.

If the player reports a difference in feel, record that as an additional observation rather than deriving it mechanically from the summary. Input, display and the game's task can matter beyond the supplied intervals. The useful result is a clearly scoped comparison and next investigation, not a promise that one statistic diagnoses all uneven play.

Average FPS describes count per elapsed time, while a percentile, maximum, time share and original order describe other aspects of the sequence. Read them together with consistent definitions and a matched task. Equal averages can conceal important differences, but those differences alone do not establish a cause or universal smoothness score.