How to measure FPS properly (so you know a change actually helped)
Updated November 2026 · 6 min read
Short answer
Use a frame-time tool (PresentMon, CapFrameX, or a game's built-in benchmark), test the same scene for the same length, do three runs before and after, and compare average FPS and 1% lows. If the difference is smaller than how much your runs vary, it's noise.
Most "this tweak gave me +30 FPS" claims come from glancing at a counter once before and once after. FPS swings a lot depending on where you look and what's happening, so a single glance can show almost any number. Here's how to test properly.
1. Use a tool that records every frame
- PresentMon (free, by Intel) records the time of every frame from Windows itself. Framecalm uses it.
- CapFrameX is a free front-end for the same data, with charts.
- Built-in benchmarks in games that have them are the most repeatable option of all.
An in-game FPS counter is fine for a quick look, but it only shows an average over the last second.
2. Pick a repeatable scene
Same map, same spot, same camera direction, same thing happening, same length (30-60 seconds). Standing still in a busy area is fine. Different scenes can easily differ by 30% on their own.
3. Do three runs, not one
Run the same test three times. If the averages are 98, 101 and 96, your noise is a few percent. A change that moves you from about 98 to about 100 isn't proven; one that moves you to 130 is.
4. Look at more than the average
- Average FPS is total frames divided by total time.
- 1% low (or 99th-percentile frame time) shows your worst moments. A setting that leaves the average alone but raises the 1% low makes the game feel smoother.
- Frame time in milliseconds: 16.7 ms is 60 FPS, 6.9 ms is 144 FPS. A frame-time graph shows stutters that averages hide.
5. Keep conditions the same
- Plugged in (laptops), same power mode.
- Let the game warm up a minute; the first run after launch often stutters while shaders compile.
- Same background apps open.
- Restart the game after changing settings that need it.
Framecalm does all of this for you: three matched runs before and after, average, median and P95/P99 frame times, and a plain "within noise" verdict when nothing really changed.