Local input diagnostic

Wheel-event to next-frame timer

Estimates browser-level time from receipt of a wheel event to the next requestAnimationFrame callback.

Ready
Start the test to measurePage movement is contained only in this card while active; each event is scheduled to the next animation frame.
Latest delay—
Median—
P95—
Minimum—
Maximum—
Sample count0
Frame-rate contextCollecting frame callbacks…This is observed render-callback cadence, not mouse polling rate.
InterpretationNo measurements yet. Start the test and use the wheel inside the surface.
Recent delays0 most recent

No events recorded yet.

The test reads browser events locally. Results do not prove hardware condition, and raw input is not uploaded.

The summary stays in this browser and is not uploaded.

This is not end-to-end physical mouse latency and not click latency. Operating-system scheduling, browser behavior, display refresh, compositor timing, system load, and frame timing influence it.

Scroll Latency Test

Use this scroll latency test to estimate the browser-level delay from receiving a `wheel` event to the next `requestAnimationFrame` callback. It reports latest, median, P95, minimum, maximum, sample count, and observed frame-rate context.

Measure one browser timing segment, not end-to-end mouse latency

The clock begins after a wheel event reaches page script and ends at the next render callback. Device sensing, USB transport, operating-system dispatch, compositor presentation, and pixel response are outside or only partially represented.

How to use the Scroll Latency Test

Stabilize the environment

Keep the tab visible, close heavy background work when practical, and avoid switching windows during the sample.

Start and scroll in the card

Use normal wheel actions for at least twelve events. The active surface contains page movement while each event schedules a frame callback.

Read the distribution

Compare median and P95 with the frame-rate context. Repeat under the same load before comparing a browser, setting, or device.

How the scroll latency test times an event

For each trusted `wheel` event received inside the active surface, the scroll latency test records a high-resolution browser timestamp and requests the next animation frame. When that callback runs, it subtracts the event receipt time from the callback timestamp. The resulting event-to-next-frame delay is retained in a bounded local sample and summarized without uploading raw timing data.

This measurement begins late in the full input pipeline and ends before a pixel is guaranteed to appear. It does not include an independently measured physical wheel movement, firmware processing, complete USB transport, display scanout, or pixel response. It is therefore a browser/render-loop timing approximation, not total click latency, mouse latency, or a laboratory input-lag number.

Read latest, median, P95, minimum, and maximum

Latest delay is the newest completed event-to-frame measurement. Median is the middle of the sample and is less dominated by one long interruption. P95 is a tail indicator: about ninety-five percent of recorded values are at or below the reported nearest-rank value. Minimum and maximum show the observed range, while sample count indicates how much data supports the summary.

No single value is universally good. At a steady refresh cadence, an event arriving just before a frame callback can have a small delay, while one arriving just after a callback may wait closer to a full frame interval. Background load, timer scheduling, power management, and browser work add variation. Compare distributions collected under matched conditions instead of ranking devices from one minimum.

Why frame-rate context matters

The page separately samples animation-frame callback intervals and displays their median as milliseconds and an approximate hertz value. A 60 Hz context is roughly 16.7 milliseconds per frame, while a higher-refresh display can offer shorter opportunities. Browser throttling or a background tab can dramatically reduce callback frequency even though the mouse itself has not changed.

Observed render cadence is not hardware mouse polling rate. Polling describes how often a device or USB path reports input; `requestAnimationFrame` follows the browser’s rendering schedule. The mouse polling rate test estimates browser-received movement event delivery through a different protocol. Mixing those values would collapse two independent parts of the pipeline.

Sources of scrolling delay variation

Operating-system scheduling, browser event dispatch, main-thread work, compositor decisions, display refresh, variable-refresh behavior, power-saving modes, background applications, extensions, and developer tools can all influence the wheel input latency test. Smooth-scrolling code may introduce additional animation after the measured callback. A page with no visual scroll can still produce an event-to-frame timing value.

The input source also affects event timing. A notched wheel, free-spin wheel, touchpad with momentum, remote session, or accessibility controller can send different event patterns. Multiple wheel events may schedule callbacks for the same upcoming frame. Each receives its own delay, but that does not imply that each physical movement created a separate presented frame.

A controlled mouse scroll latency comparison

Begin with the same browser window, zoom, display, power mode, and background load. Capture twenty to fifty normal wheel events, finish the run, and note the median, P95, frame context, and any focus interruption. Reset and repeat before changing one variable. Large differences that survive repeats are more useful than a single low or high reading.

When comparing browsers, restart the same simple page and avoid carrying open developer tools in only one run. When comparing system settings, write down the original value so it can be restored. When comparing devices, remember that the page still begins timing only after input reaches the browser; a similar result cannot prove identical end-to-end hardware latency.

Troubleshooting perceived slow scrolling

If scrolling feels delayed but event-to-frame values are stable, inspect application smooth-scrolling duration, extensions, animation, overflow handlers, and compositor behavior. If the frame context becomes slow or irregular, close heavy work, check power and display modes, and repeat. If wheel events themselves arrive in bursts, compare the scroll speed and wheel event tester pages.

Try another browser and a native application before changing drivers. Use official operating-system or manufacturer sources for updates. Wireless charge, receiver placement, remote-desktop latency, and system load can matter, but this timing metric cannot identify which one is responsible. A controlled before-and-after test is more credible than attributing a long P95 to one component.

Accuracy, privacy, and limits

Browser timestamps and animation callbacks are designed for web scheduling, not calibrated instrumentation. Security precision limits, callback batching, variable refresh, and background throttling affect them. The tool discards synthetic events from the official sample, stops when focus is interrupted, bounds stored values, and performs calculations in the browser.

A scroll latency test result should be described as event-receipt-to-next-frame delay for this browser session. It is not end-to-end physical mouse latency, click latency, USB polling rate, display response time, or proof of a hardware problem. Repeat the measurement in another application or use dedicated measurement equipment when a high-stakes latency conclusion is required.

Scroll Latency Test questions

Does this measure total mouse scroll latency?

No. Timing starts when page script receives the wheel event and ends at the next animation-frame callback, leaving other input and display stages outside the metric.

Why can the minimum be near zero?

An event that reaches the handler just before the next frame callback may have very little remaining wait, even though the complete physical-to-display path was longer.

Is frame-rate context the same as polling rate?

No. Frame context describes browser render callbacks. Mouse polling concerns input reporting and belongs to a different stage and test protocol.

How many samples should I collect?

The tool asks for at least twelve before offering a usable summary; twenty to fifty controlled events usually provide a more representative distribution.