Cherry removes debounce almost entirely!

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.
User avatar
lexlazootin
Posts: 1251
Joined: 16 Dec 2014, 02:57

Cherry removes debounce almost entirely!

Post by lexlazootin » 10 Jan 2015, 18:26

CHERRY RealKey

Cherry is using a "new" analog key switches in their Cherry MX Board 6.0 boards that enables a amazing 0.8ms of debounce with only two 0.4ms noise checks for the button being pressed. Although because of the limitations of USB, polling rate of which is 1000hz making the debounce come to a 1ms timing.

http://youtu.be/Ztlu6MkiH_Y

http://youtu.be/cLWUTOrifXk (CHERRY RealKey youtube Comercial, almost unwatchable...) :D

On a side note i emailed DasKeyboard awhile ago for their debounce timings on their keyboards and they came back to me with...

"Unfortunately, I cannot reveal information about our products that is proprietary."

And i also emailed Steelseries about their mice and they came back to me with...

"We do not test the debounce timings."

A top of the line gaming mouse manufacture that doesn't test debounce in their own mice, probably explains why i have a 30ms click delay in my steelseries Kinzu v2 Pro that i can notice if i click fast enough for it not to register. Haha, oh well. :lol:

Sparky
Posts: 682
Joined: 15 Jan 2014, 02:29

Re: Cherry removes debounce almost entirely!

Post by Sparky » 11 Jan 2015, 08:11

That made me cringe. The switches themselves are normal MX series switches, so the bounce time is still up to 5ms at 16in/s activation speed. As for the sampling chip, it's probably not significantly better than other high end keyboard controllers with NKRO, just a question of picking the right debounce algorithm for your chosen keyswitch. With that keyswitch, you know immediately when it's pressed, but you have to wait a few ms to know whether or not it's being held down or if it was immediately released.

User avatar
lexlazootin
Posts: 1251
Joined: 16 Dec 2014, 02:57

Re: Cherry removes debounce almost entirely!

Post by lexlazootin » 11 Jan 2015, 09:08

Sparky wrote:That made me cringe. The switches themselves are normal MX series switches, so the bounce time is still up to 5ms at 16in/s activation speed. As for the sampling chip, it's probably not significantly better than other high end keyboard controllers with NKRO, just a question of picking the right debounce algorithm for your chosen keyswitch. With that keyswitch, you know immediately when it's pressed, but you have to wait a few ms to know whether or not it's being held down or if it was immediately released.
I'm trying to follow along and i'm quite ignorant. Are you saying that everything is the same but the "Chip"?~ that is used reading the key press is doing a slightly better job then most keyboards?

On cherrys specs sheets they claim 5ms bounce times way before this announcement but i wouldn't be surprised if other keyboard manufacturer developed their keyboards with 30ms of debounce code, right?

Sparky
Posts: 682
Joined: 15 Jan 2014, 02:29

Re: Cherry removes debounce almost entirely!

Post by Sparky » 11 Jan 2015, 11:01

lexlazootin wrote:
Sparky wrote:That made me cringe. The switches themselves are normal MX series switches, so the bounce time is still up to 5ms at 16in/s activation speed. As for the sampling chip, it's probably not significantly better than other high end keyboard controllers with NKRO, just a question of picking the right debounce algorithm for your chosen keyswitch. With that keyswitch, you know immediately when it's pressed, but you have to wait a few ms to know whether or not it's being held down or if it was immediately released.
I'm trying to follow along and i'm quite ignorant. Are you saying that everything is the same but the "Chip"?~ that is used reading the key press is doing a slightly better job then most keyboards?

On cherrys specs sheets they claim 5ms bounce times way before this announcement but i wouldn't be surprised if other keyboard manufacturer developed their keyboards with 30ms of debounce code, right?
There are also a lot of different ways you can wire up a keyboard. The easiest to understand would be wiring each key to a different pin on your microcontroller, but a microcontroller with that many IO pins might cost you 5 bucks a chip in bulk, which doesn't make for healthy profit margins. So you can hook multiple keys up to a single pin, and use various schemes to figure out which of those several pins is being pressed, like arranging the keys in a matrix, powering one column at a time, and reading which rows are connected to that column. The really cheap keyboards might get confused if you press more than 2 or 3 keys at a time, while the better ones might be designed so keys never conflict. This means instead of 100+ io pins you might need 20~30. However, you're polling. You might happen to read from a pin when it's bouncing, so it might take a few tries before you actually notice the key has been pressed(you can work around that with hardware debouncing and adjusting the timing of your reads, but it doesn't sound like that's what cherry is doing). Now that's not the only way to get multiple keys on the same pin, you could connect each key to a different value resistor, so that pressing the key changes the voltage a bit instead of pulling it all the way to the rail, then figure out which keys were pressed by looking at how much the voltage changed with an ADC. Maybe that's what Cherry is doing, but I don't really see the advantage, so maybe not. That wouldn't give better debouncing, though it might increase their polling rate, which is mostly pointless if you can already poll the entire keyboard in under 1ms(USB polling interval). At best it's a way to save a couple bucks on BOM cost, but it shouldn't have better performance than a NKRO keyboard with hardware debouncing. Even without hardware debouncing, a competently designed keyboard with those switches should have a maximum latency of ~6ms.

tl;dr: marketing people being marketing people. They're basically talking up their ~$100 keyboard by comparing it to $5 keyboards.

Samhain
Posts: 23
Joined: 17 Dec 2013, 16:11

Re: Cherry removes debounce almost entirely!

Post by Samhain » 15 Jan 2015, 19:41

Why not just use PS/2 instead of USB? I thought that was the "less latency" trick in the first place?

flood
Posts: 929
Joined: 21 Dec 2013, 01:25

Re: Cherry removes debounce almost entirely!

Post by flood » 15 Jan 2015, 20:13

thats not related to debouncing lol

User avatar
BTRY B 529th FA BN
Posts: 525
Joined: 18 Dec 2013, 13:28

Re: Cherry removes debounce almost entirely!

Post by BTRY B 529th FA BN » 15 May 2015, 07:17

Sorry for necro'ing this thread.

Says the keyboard will be USB 2.0. Does the thought about USB and inputlag apply to this keyboard? What would be faster with it PS/2 or USB 2.0?

Sparky
Posts: 682
Joined: 15 Jan 2014, 02:29

Re: Cherry removes debounce almost entirely!

Post by Sparky » 15 May 2015, 09:48

BTRY B 529th FA BN wrote:Sorry for necro'ing this thread.

Says the keyboard will be USB 2.0. Does the thought about USB and inputlag apply to this keyboard? What would be faster with it PS/2 or USB 2.0?
Assuming the USB polling rate is 1khz, there's very little difference for a single keypress, PS/2 might be 1~2ms faster. For multiple simultaneous keypresses(and key releases), USB is faster, because ps/2 sends each keypress sequentially, and uses a much slower clock. If you need more than 6kro, you're probably still going to use PS/2. While NKRO is possible over USB, they'll probably limit it to 6kro for compatibility reasons, or maybe make it selectable.

User avatar
BTRY B 529th FA BN
Posts: 525
Joined: 18 Dec 2013, 13:28

Re: Cherry removes debounce almost entirely!

Post by BTRY B 529th FA BN » 15 May 2015, 20:44

Sparky wrote:
BTRY B 529th FA BN wrote:Sorry for necro'ing this thread.

Says the keyboard will be USB 2.0. Does the thought about USB and inputlag apply to this keyboard? What would be faster with it PS/2 or USB 2.0?
Assuming the USB polling rate is 1khz, there's very little difference for a single keypress, PS/2 might be 1~2ms faster. For multiple simultaneous keypresses(and key releases), USB is faster, because ps/2 sends each keypress sequentially, and uses a much slower clock. If you need more than 6kro, you're probably still going to use PS/2. While NKRO is possible over USB, they'll probably limit it to 6kro for compatibility reasons, or maybe make it selectable.
I'm more interested in if this board can be used in PS/2 mode. I do notice a difference in overall machine performance between a 1k hz polling keyboard VS one plugged in via PS/2 in some games. Specifically CPU intensive games

User avatar
lexlazootin
Posts: 1251
Joined: 16 Dec 2014, 02:57

Re: Cherry removes debounce almost entirely!

Post by lexlazootin » 16 May 2015, 03:35

BTRY B 529th FA BN wrote:I do notice a difference in overall machine performance between a 1k hz polling keyboard VS one plugged in via PS/2 in some games. Specifically CPU intensive games
Probably some expectation bias getting thrown in there a little bit, for the most part the difference should pretty much be undetectable :P

Post Reply