[EXPERIMENT]Keyboard latency at different debounce settings

Everything about latency. Tips, testing methods, mouse lag, display lag, game engine lag, network lag, whole input lag chain, VSYNC OFF vs VSYNC ON, and more! Input Lag Articles on Blur Busters.
MegaWatt
Posts: 21
Joined: 20 Apr 2020, 09:35

Re: [EXPERIMENT]Keyboard latency at different debounce settings

Post by MegaWatt » 25 Jun 2020, 07:23

Thanks @senny22, your results are interesting, CSGO running at 240 fps you've got 4ms between frames, so at 16ms there's been 4 frames output before a reaction which is quite a few frames, although perhaps some of that is game software e.g. movement physics.

So your timing granularity is 4ms therefore your measurements will fall into the 16ms, 20ms or 24ms buckets, it could turn out that the differences are more minimal, for example if the Apex Pro had a 15ms latency you'd see the game reaction at 16ms, if another keyboard had 17ms latency then that would drop into the next frame at 20ms, so roughly a 2ms real world difference between the boards. Also the opposite is true, the Apex Pro could have a 12.1 ms latency and the next keyboard could have a 19.9ms latency, so almost an 8ms advantage.

I've been slowly thinking about doing measurements myself and I've been considering your typical cheap as chips keyboard with a return rate of 125Hz, so 8 ms, this might have a slow internal scan rate as well, lets say 125Hz, if you was lucky enough to hit the button 7ms into the keyboard scan and USB poll this keyboard could end up measuring at 1ms latency. Of course this is where averaging comes in but this confusing the 'real' latency of the keyboard which probably ought to be thought as perhaps roughly 16ms i.e. the worst case number. Perhaps put another way if the variation for the measurements is wide, so for example 1ms to 16ms then it's a junk keyboard.

The debounce timings that are quoted by various keyboard manufacturers could turn out to be marketing rubbish, yes mechanical switches have contact chatter but if the debounce delay is applied on release of the button then it makes no difference unless you want to press the same button 10ms later. The keyboard firmware could get clever with this e.g. first sign of chatter if the key is registered as off means you return a key press, so next to no delay, wait for a steady contact state by polling at 1ms,then first sign of chatter you register the key as off, again next to no delay. The only limitation is trying to register a key change inside of the button chatter window, unless you can press buttons 100 times per second you've not got any problems. Is this how the software for mechanical keyboards work ? no idea but it would explain how I can get 3ms for my fnatic mini streak from http://blog.seethis.link/scan-rate-estimator/

Having a measurable difference does make the Apex Pro worth getting, we all want the best gear, although the price is a bit steep for a 1 frame improvement, I run at 144Hz refresh rate so I might not see any measurable difference, I like big screens so at the time I didn't want a small 24 inch panel to get my refresh rate up.

I do think some of this gaming gear comes down to 'feel', for example it's easy to spot a 60Hz refresh compared to 120+Hz but we can't react to these timings, you get the advantage from being able to spot changes while moving - less blur. So the Apex Pro may not show any ground breaking measurable differences but the advantage comes from other factors such as button actuation point as your measurements show or smoothness of the buttons etc. Worst case it's just a more enjoyable keyboard to use compared to what you've currently got, although I do like my fnatic mini streak :)

Post Reply