Skip to content

Repository files navigation

Polling Rate Tester: Methodology and Sample Data

DOI

This repository documents how to interpret and reproduce browser-observed mouse and keyboard input timing results from PollingRateTester.com.

Important: A browser-based test observes events after the device, USB or wireless transport, operating system, and browser have processed them. It does not directly read raw USB HID reports and must not be treated as laboratory certification of a device's advertised polling rate.

Live tests

Test Live tool Appropriate use
Mouse polling rate test Run the mouse test Compare browser-observed mouse event timing under controlled conditions
Keyboard event timing test Run the keyboard test Compare separate, manually generated keyboard events under controlled conditions

What this repository contains

Measurement principle

The tests record the arrival time of accepted browser input events. Consecutive timestamps produce an observed interval:

interval_ms = current_timestamp_ms - previous_timestamp_ms
interval_rate = 1000 / interval_ms

The session average should use the full accepted-event window:

average_observed_rate = (accepted_events - 1) * 1000
                        / (last_timestamp_ms - first_timestamp_ms)

This describes browser-observed event delivery. It is not the same as reading the physical device's USB report descriptor or packet stream.

Recommended test protocol

  1. Use a desktop or laptop and keep the test tab in the foreground.
  2. Record the device model, connection type, configured rate, operating system, browser version, and display refresh rate.
  3. Keep browser zoom at 100% and close high-load background applications.
  4. Use the same USB port, surface, connection mode, movement pattern, and duration for every comparison.
  5. Perform one warm-up run followed by five recorded runs.
  6. Report every run. Use the median of the five recorded runs for a headline comparison.
  7. Keep raw exports. Do not report only the highest result.

See METHODOLOGY.md for the complete procedure.

About the sample CSV files

The included CSV rows are synthetic examples created to demonstrate the schema. They are not measurements of real products and must not be cited as benchmark evidence.

Real observations should use data_status=observed. Example rows use data_status=synthetic_example.

Technical references

Maintainer

Maintained by Umair Aalam, owner of PollingRateTester.com.

About

Browser-based tools to check mouse and keyboard polling rate (Hz) with simple explanations for gamers and everyday users.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors