Measurement chain

Where Browser Reaction Time Comes From

The recorded number includes more than human response. It is the outcome of a chain involving page scheduling, the display, perception, an input device, the operating system, and browser event delivery.

The stimulus-to-recording chain

  1. Stimulus scheduling: JavaScript changes the target state and records when that change was requested.
  2. Display presentation: The browser renders a frame, and the display refresh and scan-out determine when pixels become visible.
  3. Visual processing: You notice and interpret the changed target.
  4. Physical response: You move and actuate the mouse, keyboard, or touch input device.
  5. Device reporting: Hardware and its connection report the input to the operating system.
  6. Operating system delivery: The OS queues and routes the input.
  7. Browser event handling: The browser dispatches the event to the page.
  8. Timer recording: FPSReaction reads the monotonic timer and subtracts the stored start timestamp.

The final value cannot identify the exact contribution of each stage.

Timer resolution is not measurement accuracy

performance.now() provides a monotonic, sub-millisecond-style time source where the browser permits it. A timer can display fine increments without proving that the visual stimulus appeared, the input arrived, or the event was handled at that same precision.

FPSReaction therefore reports milliseconds for practical comparison but does not claim end-to-end laboratory accuracy.

What refresh rate changes

A display updates on a cadence. A higher refresh rate can reduce the interval between possible frame presentations, but the target change can still occur at different points relative to a refresh. Rendering, buffering, scan-out, and the rest of the chain still matter.

Refresh rate is not a guaranteed conversion formula for human reaction time. Moving from one refresh rate to another does not justify subtracting a fixed number from every result.

Input paths differ

A mouse polling path, keyboard scan behavior, touchscreen processing, wireless transport, firmware, drivers, and operating-system settings can produce different timing characteristics. Browsers may identify a trackpad as a mouse, so a web page cannot reliably separate every physical device type.

Reduce avoidable variation

  • Keep the same device, cable or wireless mode, browser, page zoom, and display configuration.
  • Let the page remain visible and focused.
  • Avoid changing fullscreen state or resizing during an aim run.
  • Close unnecessary heavy work that competes for system resources.
  • Use the same input method for every compared session.
  • Compare complete repeated sessions, not the smallest isolated difference.

Cross-device comparisons need caution

Two computers can record different times even for similar human responses because their displays, input paths, operating systems, browsers, and workloads differ. Cross-device results mix those variables. A small numerical advantage is not enough to identify which stage caused it.

For the same reason, a difference of only a few milliseconds within one short session may be normal variation rather than a durable change.