Mouse Polling Rate Stability, Jitter and Low 5% Explained
Two captures can have the same average Hz and very different delivery patterns. Read the average together with measurement status and the time scale of each metric before deciding what a fluctuation means.
Published formulas · calculated examples · version 2.1.0
Average Hz describes overall observed throughput. Stability describes variation across complete 500ms arrival windows, while Lowest 500 ms Rate identifies the slowest such window. Peak and Jitter use eligible individual intervals. This site does not calculate Low 5%, and none of these browser metrics alone measures gaming responsiveness or hardware health.
What each polling rate metric actually describes
| Metric | Calculation or time scale | Interpretation |
|---|---|---|
| Average | (accepted sample count − 1) / elapsed seconds | Observed update throughput over the capture |
| Stability | 100 × max(0, 1 − σ / μ) for complete 500ms window rates | A descriptive window-consistency index |
| Lowest 500 ms Rate | Minimum rate among complete 500ms windows | Slowest complete half-second of this capture |
| Peak | 1000 / shortest resolvable eligible interval in ms | A single-interval maximum |
| Jitter | 100 × interval standard deviation / mean interval | Relative spread of eligible individual intervals |
| Long intervals | Eligible intervals greater than three times their observed median | Unusually long observed gaps, without a diagnosis |
The estimator measures browser-visible mouse movement. It cannot check every USB poll or isolate device behavior from the rest of the input path. A score is meaningful only with the capture conditions and its measurement status.
Average starts at the first callback and ends at the current reading or test stop. Initial waiting is excluded; later pauses and trailing idle time remain. Coalesced samples in the first batch can predate that origin, so very short runs have boundary bias.
How the same average can hide different behavior
Consider these two calculated sequences of six complete 500ms arrival windows. Both cover three seconds and have a mean window rate of 1000Hz. These are illustrations, not recorded mouse measurements.
| Sequence | Six window rates in Hz | Mean | Stability | Lowest window |
|---|---|---|---|---|
| A · steady | 1000, 1000, 1000, 1000, 1000, 1000 | 1000Hz | 100% | 1000Hz |
| B · uneven | 1200, 1200, 1200, 1200, 1200, 0 | 1000Hz | 55.28% | 0Hz |
For sequence B, the population variance is (5 × 200² + 1000²) / 6 = 200000. Its standard deviation is about 447.21Hz. Substituting into the site formula gives 100 × (1 − 447.21 / 1000) ≈ 55.28%.
The average remains a useful throughput summary. It simply does not retain the ordering or distribution of delivery. The zero window could come from stopping movement, delayed delivery or another input-path effect. This example cannot tell us which cause occurred.
How Stability is calculated, and what it cannot show
After the first callback, the estimator divides arrival time into fixed, non-overlapping 500ms windows. Each complete window's update count becomes a rate in Hz. It uses their mean μ and population standard deviation σ to calculate Stability = 100 × max(0, 1 − σ / μ).
All complete windows participate, including slow and empty ones. The last partial window is excluded from Stability and Lowest 500 ms Rate, but its samples and elapsed time still affect Average. Samples in a coalesced batch are assigned to the window in which the callback arrived.
A score of 100% means the complete windows had equal counts. It does not establish perfectly spaced reports inside those windows. Brief stalls or bursts can occur while half-second totals stay equal, and batch delivery near a boundary can change the score.
The denominator is the mean window rate. With eligible captures this is positive; the implementation also guards against zero. The lower clamp prevents a negative score when relative spread exceeds one. No published evidence establishes a universal percentage cutoff for a “good gaming mouse.”
Why Lowest 500 ms Rate is not Low 5%
The current test reports the minimum complete 500ms window rate. It does not report a fifth percentile or the average of the slowest 5%. Those statistics answer different questions and must be named separately.
| Statistic | Required definition | What it selects |
|---|---|---|
| Lowest 500 ms Rate | Minimum of complete 500ms arrival-window rates | One slowest window |
| 5th-percentile rate | Dataset, window size and quantile convention | A lower-tail boundary in the sorted data |
| Mean of the slowest 5% | Dataset and rounding rule for the selected count | Average across a lower-tail subset |
A percentile implementation must specify interpolation or rank rules. A worst-5% mean must specify how many values to select when the sample count does not divide cleanly. A three-second capture has only six complete half-second windows, so 5% corresponds to less than one window. That is a poor basis for a tail estimate.
Working from individual intervals creates another choice. Long intervals are bad in a delay distribution, while low rates are bad in a frequency distribution. Transforming each interval to Hz and averaging is generally different from taking the reciprocal of mean interval. A comparison needs the actual formula, not only the label “5% Low.”
An FPS 1% low describes rendered-frame performance under its own calculation convention. It cannot be substituted for a mouse window-rate statistic. Keep game frame-time measurements separate from browser movement measurements.
How to read Peak, Jitter and long intervals
Peak is the reciprocal of the shortest resolvable eligible sample interval. One short interval can raise it sharply. It does not establish a sustained rate or confirm an advertised polling setting. Timestamp rounding can distort very short intervals, which is why the estimator checks precision before exposing this metric.
Jitter uses population standard deviation divided by mean interval, expressed as a percentage. It describes interval spread at a finer time scale than Stability. In this estimator, zero intervals, intervals shorter than two estimated clock-grain units, and pauses of 100ms or more do not enter these interval statistics. The excluded pauses can still lower Average and Stability.
Long intervals exceed three times the median of the eligible interval distribution. The count identifies unusual observed gaps; it cannot label them USB packet loss. Different browser delivery paths and precision can make interval metrics unavailable or unsuitable for direct comparison.
For interval metrics, the capture needs valid uninterrupted input, sufficient timing samples, low duplicate-timestamp share and a median interval spanning enough estimated clock units. Read the browser-limits guide when Peak or Jitter is unavailable. Average and window metrics may still be usable.
A practical order for reading your result
- Read measurement status. At least 3 seconds and 100 samples are needed for quality metrics. Browser limits, interruptions and invalid samples change what can be concluded.
- Check the average and movement conditions. Compare captures at the same configured rate, DPI and similar continuous motion. Do not compare a paused run with an uninterrupted run as if only the mouse changed.
- Check the complete-window pattern. Read Stability and Lowest 500 ms Rate together. A poor window result calls for repeat testing and investigation.
- Use interval metrics when available. Peak, Jitter and long intervals provide additional timing detail, subject to the stated filters and clock limits.
- Test gaming effects separately. Use repeatable game frame-time captures and an appropriate latency measurement if that is the question you want to answer.
A stable browser capture is evidence about that capture. To attribute a difference to hardware, repeat the comparison and use an independent reference appropriate to the claimed measurement layer.
Frequently asked questions
What does 100% polling rate Stability mean?
It means the complete 500ms arrival windows had equal update rates under this site’s formula. It does not prove perfectly spaced individual reports, a particular hardware rate or a particular level of gaming responsiveness.
Is Lowest 500 ms Rate the same as Low 5%?
No. Lowest 500 ms Rate is the minimum complete half-second window rate. A fifth percentile and a mean of the slowest 5% are different statistics. This site does not currently calculate either Low 5% definition.
Is average polling rate misleading?
Average is a useful throughput summary, but it cannot show the whole delivery pattern. Read it with measurement status, window consistency and eligible interval metrics.
Does high browser Jitter prove my mouse is faulty?
No. Interval spread can include browser timing precision, delivery behavior and upstream processing. Repeat under comparable conditions and use an independent reference before attributing the result to hardware.
What Stability score is good for gaming?
There is no validated universal cutoff for this site-defined index. It describes complete 500ms windows in a browser capture. Compare repeated runs under the same conditions and measure game frame pacing separately.
Sources and methodology
- MousePollingRateTest · published estimator source, version 2.1.0
- W3C High Resolution Time · timestamp coarsening
- MDN · getCoalescedEvents() and browser compatibility
Definitions follow the published estimator version 2.1.0. The six-window example is calculated from the listed values using population standard deviation. No hardware trace, USB packet-loss diagnosis, Low 5% implementation or validated gaming-score threshold is claimed.
Maintained by MousePollingRateTest. Report a factual error or measurement issue.
Continue with your own setup
Run a focused capture, keep moving through the end, and read the measurement status before comparing results.
Run the mouse test