WOOFY · Play lab
Same FPS, different frame pacing
An FPS counter summarizes a rate. It does not tell you when each frame arrives. Use these deliberately simple sequences to learn which questions a summary can answer—and which need the timeline.
Change the question you ask of the same dataWhy two FPS numbers cannot always be averaged
Imagine two complete intervals: 10 ms and 30 ms. Together they occupy 40 ms. Count both intervals over that total time.
The overall rate is 1,000 × 2 ÷ 40 = 50 FPS. The 10 ms interval has a reciprocal rate of 100 FPS and the 30 ms interval about 33.33 FPS.
Averaging 100 and 33.33 gives about 66.67, which is not the overall rate. The slow interval occupies three times as much time. Keep interval counts and total duration together; the same trap appears when combining recordings of different lengths.
Three sequences, the same total time
Each sequence contains 1,000 complete frame intervals totaling 10,000 ms. An interval is the time between consecutive frame events. Here, average FPS = 1,000 × interval count ÷ total milliseconds. These are synthetic intervals, with no capture boundaries or missing records.
Horizontal position is interval order, not elapsed time. Vertical height is duration, from 0 to 120 ms. The text and numbers below describe the same data.
Even spacing
Every interval is 10 ms. No interval exceeds the 60 FPS reference budget of about 16.67 ms.
- Average FPS
- 100
- P99 interval (ms)
- 10
- Longest interval (ms)
- 10
- Intervals above budget
- 0
- Share of intervals above budget (%)
- 0
- Share of total time in those intervals (%)
- 0
- Longest consecutive group above budget
- 0
- Reference budget (ms)
- 16.67
Ten separated gaps
Every hundredth interval is 109 ms; the other 990 are 9 ms. The gaps are separated. The average remains 100 FPS, but P99 is only 9 ms.
- Average FPS
- 100
- P99 interval (ms)
- 9
- Longest interval (ms)
- 109
- Intervals above budget
- 10
- Share of intervals above budget (%)
- 1
- Share of total time in those intervals (%)
- 10.9
- Longest consecutive group above budget
- 1
- Reference budget (ms)
- 16.67
Ten gaps together
The same ten 109 ms intervals now occur consecutively at the end. Summary values stay the same as the separated sequence, while the longest consecutive group above the reference budget grows from one to ten.
- Average FPS
- 100
- P99 interval (ms)
- 9
- Longest interval (ms)
- 109
- Intervals above budget
- 10
- Share of intervals above budget (%)
- 1
- Share of total time in those intervals (%)
- 10.9
- Longest consecutive group above budget
- 10
- Reference budget (ms)
- 16.67
Why P99 can miss the longest gaps
This lab sorts intervals from shortest to longest and takes position ceil(0.99 × N), counting from one. With 1,000 intervals that is position 990. In both uneven sequences, the first 990 values are 9 ms; all ten 109 ms gaps sit beyond that position. A lower P99 here does not prove a steadier experience. Other tools may use different percentile methods.
P99 is not a universal “1% low FPS”
A percentile boundary and an average of the slowest intervals are different calculations. The label “1% low” is not enough to identify a formula. Check the tool's definition, capture metric and version before comparing results. This lab reports milliseconds at P99 and does not label its reciprocal as 1% low.
Change the question you ask of the same data
Choose a sequence and a reference rate. A budget of 1,000 ÷ reference FPS gives 33.33 ms at 30, 16.67 ms at 60 and 8.33 ms at 120. Changing it reclassifies intervals; it does not change the sequence or simulate an FPS limiter.
The three examples above use the 60 FPS reference. Their data, explanations and method remain readable without the interactive controls.
Choose a listed sequence and reference rate, then try again.
Your selected comparison
Ten separated gaps · 60 FPS
- Average FPS
- 100
- P99 interval (ms)
- 9
- Longest interval (ms)
- 109
- Intervals above budget
- 10
- Share of intervals above budget (%)
- 1
- Share of total time in those intervals (%)
- 10.9
- Longest consecutive group above budget
- 1
- Reference budget (ms)
- 16.67
Only intervals strictly longer than the reference budget are counted. Equality is within budget.
Time share adds the full duration of each counted interval, not just its excess over budget. It is not a stutter score or a measure of input latency. A consecutive group describes adjacent intervals, not a proven perceptible stutter event.
Turn a settings change into a fair comparison
Use your capture tool for real measurements. This lab does not read your hardware or import capture files. Record the following before deciding that a setting helped.
Define one question
For example: does changing one graphics setting reduce repeated long intervals on the same route? Keep the game version, scene, resolution, frame cap, synchronization and other settings fixed. Record any exception.
Capture comparable runs
Warm up consistently and use the same route and recording duration. Repeat each condition and alternate their order where practical. Keep first-run loading or shader work separate from a warmed-up test; do not delete inconvenient spikes without documenting why.
Read summaries alongside the timeline
Compare average rate, tail values, maximum interval and where the long intervals occur. If repeated runs overlap substantially, report the result as unclear instead of choosing the best run. An unchanged average can coexist with a useful change in pacing.
State the scope of your conclusion
Write the changed setting, fixed conditions, repeated-run results and remaining uncertainty. Application-present intervals, displayed frames and generated frames can differ. Compare the same metric; do not infer input latency or a CPU/GPU fault from these numbers alone.
From a results table to a defensible conclusion
Each case asks a different question: did an advantage repeat, did the chosen metric improve, and were the recordings combined correctly? Read the observations before deciding what they support.
All recordings below are constructed teaching data made from complete intervals, not real benchmark captures. A and B are labels, not recommended settings. The examples do not establish a minimum number of repeats or a statistical significance rule.
The best recording suggests a winner; the full set does not
In this constructed example, A and B alternate over the same route for 60 seconds each, with the same capture metric, warm-up, resolution and other conditions. The question is whether B shows a repeatable average-rate advantage in these three pairs.
| Repeat pair | A · Average FPS | B · Average FPS | B minus A (FPS) |
|---|---|---|---|
| 1 | 100 | 103 | 3 |
| 2 | 102 | 99 | -3 |
| 3 | 101 | 101 | 0 |
A
- Overall FPS across the complete duration
- 101
- Lowest recording average FPS
- 100
- Highest recording average FPS
- 102
B
- Overall FPS across the complete duration
- 101
- Lowest recording average FPS
- 99
- Highest recording average FPS
- 103
Selecting only the highest result gives A 102 and B 103 FPS. Keeping all equal-duration recordings gives both 101 FPS overall. The paired differences are +3, −3 and 0 FPS: the direction changes.
- What you can conclude
This set does not show a consistent average-FPS advantage for B. It also does not prove that the settings are equivalent; a small constructed sample cannot settle that claim.
- What to check next
Repeat comparable observations and inspect the differences alongside the capture conditions. Keep all valid recordings and document exclusions. If repeat order or background work could explain a result, improve the comparison before choosing a winner.
- Boundary of the conclusion
Overlap between ranges is a description, not a significance test. A single best recording and a fixed repeat count are not universal decision rules.
The average improves while a long-interval measure worsens
Both constructed recordings last ten seconds. A contains 980 intervals of 10 ms and ten of 20 ms. B contains 1,180 intervals of 8 ms and twenty of 28 ms. Use the same 60 FPS reference, about 16.67 ms, for both.
A
- Duration (s)
- 10
- Complete intervals
- 990
- Average FPS
- 99
- Intervals above the 60 FPS reference
- 10
- Share of time in those intervals (%)
- 2
B
- Duration (s)
- 10
- Complete intervals
- 1,200
- Average FPS
- 120
- Intervals above the 60 FPS reference
- 20
- Share of time in those intervals (%)
- 5.6
A totals 990 intervals and B 1,200: 99 versus 120 FPS. The counted intervals occupy 200 ms in A and 560 ms in B, or 2% versus 5.6% of total time. These percentages describe time, not the fraction of intervals.
- What you can conclude
B has the higher average rate in this example, but more time lies in intervals above the chosen reference. The numbers support a tradeoff, not an overall smoothness winner.
- What to check next
State whether your real question concerns average rate, repeated long gaps or another measured outcome. Compare repeated recordings of the same scene and inspect where the gaps occur before keeping the setting.
- Boundary of the conclusion
One A/B pair does not establish a repeatable effect. The threshold is a chosen reference; this example measures neither perception nor input delay and does not identify the cause of a gap.
Unequal recording lengths can reverse a naive ranking
A combines ten seconds at 120 FPS with ninety seconds at 60 FPS. B combines two fifty-second recordings at 80 FPS. Each label therefore covers 100 seconds. A's recording lengths differ, while B's are equal.
| Recording | Duration (s) | Complete intervals | Average FPS |
|---|---|---|---|
| A1 | 10 | 1,200 | 120 |
| B1 | 50 | 4,000 | 80 |
| A2 | 90 | 5,400 | 60 |
| B2 | 50 | 4,000 | 80 |
A
- Overall FPS across the complete duration
- 66
- Arithmetic mean of recording FPS values
- 90
B
- Overall FPS across the complete duration
- 80
- Arithmetic mean of recording FPS values
- 80
A contains 1,200 + 5,400 = 6,600 intervals: 66 FPS over 100 seconds. B contains 4,000 + 4,000 = 8,000: 80 FPS. Averaging A's two displayed FPS values gives 90, which incorrectly places it above B if presented as overall throughput.
- What you can conclude
Across the complete durations, the constructed data gives A 66 and B 80 FPS. The 90 FPS shortcut gives equal weight to recordings of very different lengths.
- What to check next
When your question is overall throughput, combine interval counts and durations. When comparing setting effects, also match the scene composition, warm-up and capture metric; correct arithmetic cannot repair mismatched conditions.
- Boundary of the conclusion
A mean of per-recording FPS answers a different question and is not inherently invalid. It must not be relabeled as the overall rate. These aggregate values alone do not show that B caused an improvement.
Change the summary, keep the recordings
Use the same constructed data to compare a full-duration calculation with the shortcut discussed in each case. Only the summary changes. The recordings and their conditions do not.
Choose a listed case and summary method, then try again.
Selected summary
Selecting recordings · Use the complete duration
- A · Average FPS
- 101
- B · Average FPS
- 101
- B minus A (FPS)
- 0
All six equal-duration recordings are retained. A and B both give 101 FPS overall. Equal aggregates do not prove equivalent performance or identical frame pacing.
This selects only each label's highest recording: A 102 and B 103 FPS. It discards the other valid observations and is not evidence of a repeated advantage.
Total interval counts divided by total time give A 66 and B 80 FPS. This answers overall throughput; it does not establish comparable scenes or a causal setting effect.
This averages per-recording FPS without weighting duration: A 90 and B 80. It is a different summary and would be misleading if called the overall rate.
A useful conclusion can include uncertainty
“The two examples both average 100 FPS, but their interval patterns differ” follows from this data. “This PC will feel smooth” does not. For your own runs, keep the settings only after checking repeated comparable measurements and the experience you wanted to improve.
What this exercise cannot tell you
These sequences illustrate arithmetic, not human perception. They exclude display refresh behavior, variable refresh rate, frame generation, input delay, network delay and the cause of a long interval. The reference budget is a chosen comparison line, not a universal good/bad threshold. No game, hardware purchase or repair is recommended from these examples.