And because this is electronics forum, I just made a small test.
Soldered a phoresistor in parallel with tactile button of my mouse, funny enough it activates the button if exposed to bright light (edge fall time around 5ms, not great, not terrible). Next I wrote a small application which periodically flashes white rectangle on black screen, polls the mouse and uses QueryPerformanceCounter to measure latency. So it effectively measures round trip time from code to display to mouse click and back to the code. Latency 40-45ms. But my mouse is bluetooth mouse, which probably sucks on latency plus 5ms photoresistor circuit latency. But anyway, it's not so hard to get numbers and does not necesarily require the use of fancy equipment.
So that's about latency. But I'm not sure anymore what we are talking about. Latency, bluring or what.
Thanks for doing this test-this is actually very useful and exactly the kind of direction I was hoping for.
To clarify what I’m trying to describe, the core issue is not just absolute latency but time variance of the system behavior.
I fully agree that end-to-end latency can be measured relatively simply, as you demonstrated. Your setup measures a fixed round-trip delay (software -> display -> input -> software), which is great for establishing baseline numbers.
However, in my case the main anomaly is that the system appears to switch between different temporal states:
sometimes the interaction feels consistent and predictable,
sometimes the exact same setup feels significantly worse,
without any changes in load, software, or configuration.
In other words, I’m not observing a constant extra 20–30 ms of latency, but rather:
increased jitter,
inconsistent frame pacing, response timing,
loss of temporal coherence,
which subjectively manifests as “blur,” “breathing,” or loss of smoothness.
This is why I’m struggling to describe it precisely.
I’m interested in extending something similar:
For example, logging the same measurement continuously over time and correlating it with moments when the system feels “good” vs. “bad.”
If you have ideas on how to adapt such a setup to capture temporal instability or jitter (not just average latency), I’d really appreciate your input.