Reading the benchmark

It measures frame times while you play your own game, not a synthetic scene. What the percentiles mean and why the average is the least useful number on the page.

What it measures

Frame times from the game you are actually playing, read from the graphics stack itself rather than from an overlay hooked into the game. Start the capture, play normally, stop it.

Playing your own game matters. A synthetic scene tells you how the machine handles that scene; it cannot tell you whether your game stutters in the one place it always stutters.

The numbers

NumberWhat it tells you
Average FPSthe least useful figure here. Two machines with the same average can feel completely different.
1% lowthe worst 1% of frames. This is what stutter feels like — a high average with a poor 1% low is the classic "high fps but feels bad".
Frame timethe same data in milliseconds. 16.7 ms is 60 FPS, 6.9 ms is 144.

Read the lows, not the average. Going from 200 to 210 average changes nothing you can feel. Going from a 90 to a 140 in the 1% low changes everything.

Comparing two runs honestly

What is left out

Frames the game draws while it is not in front are not counted: the seconds between starting the capture and switching to the game, the seconds after you switch back to stop it, any alt-tab in between, and the first second after the game comes back to the front. A game in the background often draws at a fraction of its normal rate, and those frames alone can set the 1% low. The result says how many seconds were left out, and a run saved by an older w0a, which still counted them, is not judged against a newer one.

Why the numbers move between runs

They always do. Thermals, background work, where you walked, what the other players did. A few percent between two runs is normal and is not evidence of anything. If a change is real, it shows up repeatedly and it shows up in the lows.

After a driver or game update

A pair taken across a game update is not judged: the page names the two versions and leaves the difference uncoloured, as it already does across a driver change. A patch changes what the game itself does, so no difference across one can be put down to a setting. w0a reads the version from Counter-Strike 2's own files; for other games only the driver is compared.

The first match after a driver or game update can compile shaders the cache no longer holds. When the first run after the newest update came out worse than the next run on the same versions, by more than the two runs' own noise, a note under the results says so. Whether shader compilation caused it is not measured; the note only says the two fit. When the two runs do not differ, there is no note. So after an update, play one match before you measure, and compare settings from the second run on.

Settling it with an A/B series

One run on each side cannot tell a small change from that wander. An A/B series repeats the comparison until it can. You decide what A and B are (for example A: engines off, B: engines on); w0a changes no setting itself.

A pair the comparison card would not judge on its own (a short run, lost events, an engine changing state, other hardware) is not counted, and the series says how many were left out. Press End series when you are done; its result stays on the page.

How long the game waited for a processor

Under the list of long frame intervals, a card reads the kernel's own scheduler records for a short window once the game has been presenting frames for a while: how long the game's threads waited between being ready to run and getting a processor, and which other programs held the processor meanwhile. It needs administrator rights, and a window in which the kernel dropped events shows no figure rather than a wrong one. With two runs selected, it says whether the wait moved by more than the windows' own spread.

The same card names the processor the game's busiest thread ran on most (taken as its main thread) and the deferred procedure call (DPC) time measured where it ran, next to the average processor. A series adds one line: across the runs of one setting (the pilot, or the A side), whether that DPC time and the stutters rose and fell together. It describes co-occurrence only; which one causes the other is not measured.

Saved runs feed the stutter scan

Runs you save are used as evidence by the stutter scan: frames measured clearly slower than the frames around them appear there as a finding of their own, next to the possible causes. A saved run from the game that stutters is the most direct evidence you can hand it.

Related

Did this page help?

What was missing, or what did not work? We read every one of these.

If this page did not solve it, write to us — say which article you read, and we will fix the article.