Quick answers before you test
Input lag test vs system latency test
Browser latency tests stop at the page. Photon Lab measures the whole chain — mouse switch, USB, operating system, browser, GPU and panel — because the phone observes the physical click and the physical light change.
How precise can a phone be?
The camera quantises time to its frame interval: ±8 ms at 60 fps, ±17 ms at 30 fps. Ten or more pairs and the median shrink the noise, and the ± is always printed next to the number.
Browser-only latency lab →Why calibrate the microphone?
Microphones add a capture delay before the browser hears a sound. The phone plays a beep and times how long it takes to hear itself; that offset is removed from every pair so the click is placed at its true moment.
What the result actually measures
The emitter page paints a white flash on every click or key press and logs its own click-to-paint delay. The sensor page analyses the camera feed for rising luminance edges inside a target region using per-frame capture timestamps, detects click transients in the microphone with an audio worklet, pairs each flash with the click that preceded it within 400 ms and summarises the pairs as median, spread and an uncertainty of half a camera frame plus the spread. A calibration beep measures the microphone capture offset.
Measurement boundary: The estimate carries the camera frame quantisation and any uncorrected microphone offset, and it needs a quiet room, a steady hand and a click that is actually audible. It cannot separate display latency from input latency on its own; compare two runs where only one variable changed.
How to interpret the output
Median latency
Under 30 ms is esports-class, 30–50 ms competitive, 50–80 ms typical desktop, above 80 ms noticeable. Judge with the ± shown; a 45 ± 9 ms result cannot be distinguished from 52 ± 9 ms.
Spread
The median absolute deviation between pairs. Large spread with a stable setup usually means missed camera frames or double clicks; keep clicks a second apart.
Click → paint on the emitter
The browser's own share of the latency. Subtract it mentally to see how much sits in the display and the input device.
Troubleshooting unexpected results
No flashes are seen
Fill the target box with the panel, avoid reflections, lower ambient light and keep the phone still. The luminance jump must exceed 40 levels; a dim monitor or a tilted phone can fail that.
No clicks are heard
Move the phone within 30–40 cm of the mouse, use a mouse with an audible switch, and disable noise suppression if the browser exposes it. The audio meter should twitch on every click.
Calibration fails
Raise the phone volume so the beep is audible, keep the room quiet during the three beeps and retry. Without calibration the result is still shown, labelled as uncorrected.
Frequently asked questions
Is this as accurate as an LDAT or a photodiode?
No. Dedicated hardware resolves sub-millisecond events; the phone resolves a camera frame. The lab prints its uncertainty so the number is honest, and differences between two runs on the same phone are far more precise than the absolute value.
Does anything get recorded or uploaded?
No. Video frames are reduced to one luminance number and discarded; audio is reduced to onset timestamps inside an audio worklet. Only the summary can be saved to your passport or shared as a card.
Can I measure a console or TV?
Only if the console can show a flash on your click, which this page cannot cause. The method works for anything that runs this page: PCs, laptops, cloud-gaming browsers and phones as emitters with a second phone as the sensor.
Can a chatbot tell me my system latency?
It can quote typical numbers for a class of hardware. Photon Lab measures your mouse, PC, browser and display together, on your desk, today.