GUIDE 05
Polling Rate and Measurement Limits — How Accurate Is Your CPS Score?
How mouse polling rate, browser event timestamps, key repeat and monitor refresh rate affect CPS measurement, and where the limits are.
CPS measured on the web is based not on “the moment your finger pressed the button” but on “the moment the browser received the input event.” There are several steps in between, and each adds a small amount of error. Here's what affects your score and what doesn't.
How an input reaches the page
- The switch closes, and the mouse firmware confirms the press after debounce.
- The mouse reports its state to the computer at fixed intervals (polling).
- The operating system receives the input and passes it to the browser.
- The browser creates an event, attaches a timestamp and delivers it to the page's script.
Polling rate
Polling rate is how many times per second the mouse reports its state. The report interval is 1000 ÷ polling rate (ms).
| Polling rate | Report interval |
|---|---|
| 125 Hz | 8 ms |
| 500 Hz | 2 ms |
| 1000 Hz | 1 ms |
It has almost no effect on the click count itself. Even at 20 clicks per second, the gap between clicks is 50 ms, far longer than the 125 Hz report interval. However, each click's timestamp can be delayed by up to one report interval, so the interval distribution can get smeared by a few ms.
Browser timestamp precision
CPS Meter uses the timestamp attached to each event (event.timeStamp) and performance.now(). Browsers sometimes deliberately reduce the precision of these timestamps for security reasons, so read intervals to the nearest few ms rather than trusting the decimals. Even while the page is busy with heavy work, event timestamps reflect when the input arrived, so no inputs are dropped from the count.
Monitor refresh rate doesn't matter
Whether it's 60 Hz or 240 Hz, your refresh rate only changes how fast the numbers are displayed. Input counting happens separately from screen updates, so refresh rate doesn't change your score.
Wireless and Bluetooth
Wireless connections can occasionally deliver reports in bunches or with delay. The click count usually stays the same, but the interval distribution can widen. For precise comparisons, compare results from the same connection type.
Key repeat
When you hold a keyboard key down, the operating system generates repeated inputs at fixed intervals. CPS Meter checks the event's repeat flag (KeyboardEvent.repeat) and, on top of that, doesn't count a new input unless the key has been released. So just holding a key down won't raise your score.
How the start and end are handled
- Start: The first input starts the timer, so reaction time is excluded.
- End: Inputs after exactly the chosen duration are discarded. Even if “Done” appears on screen a bit late, counting is based on event timestamps.
- Leaving the page: If you switch to another tab mid-test, the browser may throttle timers, so the test is cancelled.
Bottom line
For tracking trends across multiple runs, web-based measurement is plenty. Differences of around 0.1 CPS can come from your gear and connection alone, so compare multiple runs under the same conditions.