The click-to-photon chain
Total system latency is not a specification anyone publishes, because it is the sum of nine things owned by six different manufacturers. This is the full chain, with what each stage physically is and roughly what it costs.
The chain
| Stage | Typical cost | What it actually is | The lever |
|---|---|---|---|
| Human reaction (not part of the machine) | 180 to 250 ms | Simple visual reaction time. Everything below is what you add on top. | - |
| Switch debounce (mechanical mouse switch) | 0 to 8 ms | Firmware waits to confirm the contact is stable. Optical switches skip this. | Optical or low-debounce firmware |
| USB / wireless report wait | 0.06 to 4 ms | Half a polling interval on average. 1 kHz = 0.5 ms. | Raise polling rate |
| Wireless radio hop | 0.2 to 1 ms | Modern 2.4 GHz dongles. Bluetooth is 10x worse and unusable competitively. | Use the dongle, never Bluetooth |
| OS and game input sampling | 0 to 1 frame | The game reads input once per frame at a fixed point in its loop. | Higher framerate |
| CPU simulation + render queue | 2 to 30 ms | The biggest single variable. A deep queue at a GPU bottleneck dominates everything else. | Reflex / Anti-Lag, framerate cap below GPU limit |
| GPU render | 2 to 16 ms | Roughly one frame time when GPU bound. | Lower settings, higher fps |
| Scan-out wait | 0 to 1 frame time | The frame waits for the display to start drawing. Mean is half a frame time. | Higher refresh rate |
| Panel response (grey to grey) | 0.03 to 12 ms | OLED is effectively instant; slow VA can smear past the next frame. | OLED, or a well-tuned overdrive |
| Pixel to perceived brightness | 1 to 8 ms | Sample-and-hold blur, not a fixed delay, but it moves where you perceive the edge. | Backlight strobing, higher refresh |
Stage by stage
1. Switch actuation and debounce
A mechanical switch bounces on contact, so firmware waits a fixed window to confirm the signal has settled. That window is pure delay: typically 2 to 8 ms, and often not configurable. Optical and Hall effect switches have nothing to bounce and skip it entirely.
This is the largest peripheral term in the chain and the one people least expect. It is larger than the wireless penalty, larger than the difference between 1000 and 8000 Hz polling, and comparable to a whole frame at 240 fps. See mouse switches.
2. Report wait
Your mouse reports at fixed intervals. Movement that happens between reports waits, on average, half an interval. At 1000 Hz that is 0.5 ms; at 125 Hz it is 4 ms. Deterministic arithmetic, no measurement required. See polling rate.
3. Wireless radio hop
A modern proprietary 2.4 GHz link adds roughly 0.2 to 1 ms. Bluetooth adds 10 to 30 ms with far worse consistency, which disqualifies it for play. See wireless versus wired.
4. OS input handling and game sampling
The game reads input once per frame, at a specific point in its loop. Input that arrives just after that point waits until the next frame. On average that is half a frame period: 2.1 ms at 240 fps, 8.3 ms at 60 fps.
This is the first stage where framerate enters the chain, and it is why framerate matters for latency independently of what your display does with the frames.
5. CPU simulation and the render queue
The CPU advances the game world, then prepares draw commands for the GPU. To keep the GPU busy it works ahead, queueing frames. When the GPU is the bottleneck, that queue fills, and every frame in it was simulated before your most recent input existed.
This is the largest and most variable term in the entire chain. A three-deep queue at 60 fps is 50 ms of pure staleness. At 240 fps it is 12.5 ms. It is also the term with the best free fix, which is the subject of Reflex and Anti-Lag.
6. GPU render
Roughly one frame period when GPU-bound. Lower settings and lower resolution shrink it, and they shrink the queue too, which is why framerate improvements pay twice.
7. Scan-out wait
A finished frame waits for the display to begin its next refresh. Without variable refresh that is on average half a refresh interval: 2.1 ms at 240 Hz, 8.3 ms at 60 Hz. With variable refresh, and inside the VRR range, it is close to zero, which is one of the underappreciated benefits of VRR.
8. Panel transition
The pixels change colour. On OLED this is effectively instantaneous. On a fast LCD with tuned overdrive it is 1 to 4 ms. On a slow VA panel with dark transitions it can exceed a whole frame period, which means the panel is still finishing the previous frame when the next arrives. See response time.
9. Perception
Not a latency term, but worth naming. Persistence blur means a moving object's edge is smeared across your retina, which shifts where you perceive it to be. This is not a delay in the machine; it is a degradation of the information the machine delivered. See motion clarity.
Two worked examples
| Stage | Poorly configured | Well configured |
|---|---|---|
| Switch debounce | 6 ms (mechanical) | 0 ms (optical) |
| Report wait | 4.0 ms (125 Hz) | 0.5 ms (1000 Hz) |
| Input sampling | 8.3 ms (60 fps) | 2.1 ms (240 fps) |
| Render queue | 33.3 ms (2 frames at 60 fps) | 2.1 ms (Reflex, half a frame at 240) |
| Scan-out wait | 8.3 ms (60 Hz) | 2.1 ms (240 Hz) |
| Panel response | 8 ms (slow VA) | 0.1 ms (OLED) |
| Total | 67.9 ms | 6.9 ms |
Look at where the 61 ms difference comes from. The render queue and framerate together account for 37.4 ms of it. The peripherals account for 9.5 ms. The display accounts for 14.1 ms. Most people's instinct is to buy the display.
The fix order
- Kill the render queue: Reflex, Anti-Lag, or a framerate cap below your GPU limit. Free.
- 1000 Hz polling. Free.
- Raise framerate, which shrinks input sampling and queue together. Costs settings or hardware.
- Raise refresh rate, once framerate can feed it. Expensive but real.
- Optical switches, OLED panel. Real, small, and the last thing to buy.
Related reading
- Run the numbers for your own setup.
- Reflex and Anti-Lag, the largest free win.
- Measuring your own latency with a phone camera.
- Network latency, the other budget.
Frequently asked questions
What is click-to-photon latency?
The total time from a physical input (a click or a mouse movement) to the first photon leaving your monitor carrying the visual consequence of that input. It is the only latency figure that describes the whole system, and it is the sum of every stage in the chain below.
What is a good total system latency?
Under about 25 ms is good on a well-configured competitive setup, and under 15 ms is excellent. Above 50 ms, something is clearly wrong, and it is almost always the render queue rather than any peripheral. Absolute numbers matter less than knowing which of your stages is the largest.
Which stage should I fix first?
The render queue, every time, because it is both the largest variable term and free to fix. Enable Reflex or Anti-Lag, or cap your framerate just below what your GPU can sustain. After that, polling rate to 1000 Hz. Both cost nothing.
Does latency actually matter if human reaction time is 200 ms?
Yes, and the reaction time argument confuses a fixed offset with a variable one. Reaction time applies equally to both players in a duel. System latency does not: if you both react at the same instant, the player whose input reaches the server first wins. It also affects tracking, where you are continuously correcting against what you see, and stale information means you correct against the past.
How much latency does a wireless mouse add?
Roughly 0.2 to 1 ms on a modern 2.4 GHz link, which is smaller than half a polling interval at 1000 Hz and vastly smaller than the render queue. It is not a meaningful term in this chain. Bluetooth, at 10 to 30 ms, very much is.