Keyboard Response Comparison

Original author: Dan Luu
  • Transfer
If you look at gaming keyboards, many of them sell for $ 100 or more on claims of speed. In advertisements you can find such statements:

  • Specially designed keys that reduce keystroke recording time
  • 8 TIMES FASTER - 1000 Hz polling rate: 0.1 millisecond response time
  • Get an absolute advantage over your opponents with ultra-fast operation of the 45g keyboard switches and 40% faster response than standard Cherry MX Red switches
  • The world's highest sampling rate of 1000 Hz
  • The world's fastest gaming keyboard, 1000 Hz polling rate, 0.001 second response time
Despite all these claims, I found only one person who publicly tested the keyboard response time - and he checked only two keyboards. In general, I am deeply convinced that if someone makes performance statements without benchmarks, then these statements are probably not true, as untested (or otherwise verified) program code should be considered inoperative by default.

The situation with gaming keyboards is much like a conversation with a car dealer:

Seller : This machine is super-safe! She has twelve airbags!
Me : This is good, but how does it look in crash tests?
Seller : Twelve airbags!


Of course, gaming keyboards have a polling frequency of 1000 Hz, and what of this?

Two obvious questions arise:

  1. What does keyboard response mean?
  2. Are gaming keyboards faster than usual?

What does keyboard response mean?


If you asked a year ago if I was going to build a special installation for measuring the response of keyboards, I would answer that it is stupid - and now I am sitting with a logic analyzer and measuring the response of keyboards.

It all started because I had a feeling that old computers seemed to respond faster to keystrokes than modern machines. For example, the iMac G4 for macOS 9 or Apple 2 seems faster than my 4.2 GHz Kaby Lake system. I never trusted such feelings, because decades of research have shown that users often experience sensations that are exactly the opposite of reality, so I took a high-speed camera - and began to measure the real delay between pressing a key and the appearance of a symbol on the screen, as well as the speed delay cursor response to mouse movement. As it turned out, the old computers that seemed fast were really fast, much faster than my modern computer - for computers of the 70s and 80s, the delay between pressing a key and the appearance of a symbol on the screen is often in the range of 30 to 50 ms without any modifications , while on modern computers it is often in the range of 100 to 200 ms when a button is pressed in the console. You can reduce the response to 50 ms in well-optimized games with a fanciful gaming configuration, and there is one unusual consumer device that easily beats the result of 5 μs, but for most others the work is much slower. Modern computers have greatly increasedbandwidth, but response time doesn't look so great.

In any case, during the measurements, my Kaby Lake at 4.2 GHz had the highest single-threaded performance among all the computers that you can buy, but the response time is worse than that of a fast car of the 70s (about 6 times slower than Apple 2), which is a bit strange. To find out where the delay occurs, I began to measure the keyboard response time, because this is the first part of the I / O pipeline. I planned to evaluate delays from start to finish, starting from the first link and excluding the keyboard as a real source of delay. But it turned out that the keyboards have a very significant delay! I was very surprised that the median average delay for the tested keyboards exceeds the response time of the entire Apple 2 pipeline. If you don’t immediately understand the depth of this absurdity, keep in mind that there are only 3,500 transistors at 1 MHz in the Apple 2 processor,80 thousand transistors at 16 MHz. This is 20 times more transistors that operate at 16 times the clock frequency - the keyboards are more powerful today than the computers of the 70s and 80s themselves! And still, the average median keyboard today adds the same delay as the entire I / O pipeline, right down to the display, on a fast 70s machine.

Let's look at the response time characteristics of some keyboards:

KeyboardResponse (ms)InterfaceGame
Apple Magic (USB)fifteenUSB FS
HHKB Lite 220USB FS
MS Natural 400020USB
Das 325USB
Logitech K120thirtyUSB
Unicomp Model MthirtyUSB FS
Pok3r vortexthirtyUSB FS
Filco majestouchthirtyUSB
Dell OEMthirtyUSB
Powerspec OEMthirtyUSB
Kinesis freestyle 2thirtyUSB FS
Chinfai silicone35USB FS
Razer Ornata Chroma35USB FSYes
OLKB Planck rev 440USB FS
Ergodox40USB FS
MS Comfort 500040wireless
Easterntimes i500fiftyUSB FSYes
Kinesis advantagefiftyUSB FS
Genius Luxemate i20055USB
Topre type heaven55USB FS
Logitech K36060“Unified”

Response time is the time from the beginning of the movement of the pressed key until the corresponding USB packet arrives on the USB bus . The numbers are rounded to 5 ms to avoid a false sense of accuracy. The Easterntimes i500 is also sold under the name Tomoko MMC023.

The type of connection is indicated in the “Interface” column: USB FS corresponds to the USB Full-Speed ​​protocol, which supports polling up to 1000 Hz - this function is often advertised in top-end keyboards. USB complies with the USB Low-Speed ​​protocol, which is used on most keyboards. The “Gaming” column indicates whether this model is positioned as a gaming keyboard. “Wireless” means the presence of any special receiver, and “unified” is the Logitech wireless standard.

As you can see, even with such a limited set of keyboards, the difference in response time is 45 ms. Thus, a modern computer with one of the slowest keyboards cannot react as quickly to keystrokes as a fast machine of the 70-80s, because the keyboard alone is slower than the entire I / O pipeline on those old computers.

So we established the fact that modern keyboards are a significant factor in increasing the delay that has occurred over the past 40 years. Another question is whether the delay of a modern keyboard is significant for users? From the table we see a difference in delay of about 40 ms. Is such a difference noticeable? Let's compare keyboard response times and explore some empirical studies of human perception.

There are a significant number of studies that suggest that on very simple tasks, people are able to perceive a delay of 2 ms or less . Moreover, the increase in delay is not only noticeable to users, but also causes less accurate performance of simple tasks . If you want a visual demonstration of what the delay looks like, and you don’t have an old computer at hand, here is the MSR demo on the touchscreen delay .

Are gaming keyboards faster than usual?


I really would like to test more keyboards before making bold statements, but from preliminary tests it turns out that gaming keyboards are no faster than regular keyboards.

For gaming keyboards, features that reduce response time, such as USB FS connectivity and 1000 Hz polling, are often touted. USB Low-Speed ​​specifications set a minimum time between packets of 10 ms, i.e. 100 Hz. However, USB devices often round this value to the nearest power of two and operate for 8 ms, i.e. 125 Hz. With an interval of 8 ms between packets, the average delay due to the need to wait for the next round of polling is 4 ms. With a polling interval of 1 ms, the average delay from a USB polling is 0.5 ms, which gives us a difference of 3.5 ms. Although this may be a noticeable increase in latency for fast keyboards like Apple Magic, it’s clear that the keyboard response time is more dependent on other factors, and the gaming keyboards from our test are so slow that they save 3.5 ms.

Conclusion


Most keyboards add a delay that is noticeable enough to degrade the user's experience with the computer, and advertised as “fast” keyboards are not necessarily faster than others. The two gaming keyboards we tested turned out to be no faster than the others, and the fastest keyboard in the test is Apple's minimalist keyboard, which is advertised more as an example of design than speed.

We saw earlier that consoles add a significant delay of up to 100 ms under relatively pessimistic conditions if you chose the “right” terminal . In the next article The response time of the entire conveyor from start to finish is shown — it tells what other sources of delay contribute and how some modern devices accelerate the overall response time.

Appendix: where does the delay come from


The main source of delay is the key travel time. It is no coincidence that the fastest keyboards in the test have much less key travel. Measurements were taken on a 240 FPS camera, with a 4 ms interval between frames. When shooting “normal” keystrokes and prints, full squeezing takes 4-8 frames. Most switches work before the key has returned to its original position, but the key travel length still matters and can easily add 10 additional milliseconds of delay (or more, depending on the mechanism of the switches). Compare this with the Apple Magic keyboard, where the key travel is so small that it does not register with the 240 FPS camera at all, i.e. takes less than 4 ms.

Please note that unlike other measurements that I was able to find on the Internet, it measures the time from the start of the keystroke, not from the activation of the switch. Because as a person you do not activate the switch, you press the key. If you start the measurement by activating the switch, most of the delay is lost. For example, if you play a game and switch between moving forward and backward, then to change the movement on the screen, you need to spend time pressing a key, which differs on different keyboards. It is often objected that "real" gamers keep the keys half-pressed and do not spend as much time pressing. But if you take a high-speed camera and take pictures of how people actually work on the keyboard, you will see that almost no one uses such a technique even among gamers. Perhaps professional top gamers use it, but even in this case, using the standard WASD or ESDF layout, the forward and backward keys will usually not be half-pressed. The idea is also absurd that a significant delay in the useless key stroke is normal, because you can keep the key half-pressed. It's like saying that a long response time on modern computers is normal, because you can put together a game configuration that, in exclusively optimized programs, shows a response time of 50 ms. Ordinary, non-hardcore gamers just don't bother with this. Since they constitute an absolute majority, the behavior of "serious" gamers can be mistaken for a statistical error. but even in this case, using the standard WASD or ESDF layout, the forward and backward keys will usually not be half-pressed. The idea is also absurd that a significant delay in the useless key stroke is normal, because you can keep the key half-pressed. It's like saying that a long response time on modern computers is normal, because you can put together a game configuration that, in exclusively optimized programs, shows a response time of 50 ms. Ordinary, non-hardcore gamers just don't bother with this. Since they constitute an absolute majority, the behavior of "serious" gamers can be mistaken for a statistical error. but even in this case, using the standard WASD or ESDF layout, the forward and backward keys will usually not be half-pressed. The idea is also absurd that a significant delay in the useless key stroke is normal, because you can keep the key half-pressed. It's like saying that a long response time on modern computers is normal, because you can put together a game configuration that, in exclusively optimized programs, shows a response time of 50 ms. Ordinary, non-hardcore gamers just don't bother with this. Since they constitute an absolute majority, the behavior of "serious" gamers can be mistaken for a statistical error. that a significant delay in the useless key travel is normal, because you can keep the key half-pressed. It's like saying that a long response time on modern computers is normal, because you can put together a game configuration that, in exclusively optimized programs, shows a response time of 50 ms. Ordinary, non-hardcore gamers just don't bother with this. Since they constitute an absolute majority, the behavior of "serious" gamers can be mistaken for a statistical error. that a significant delay in the useless key travel is normal, because you can keep the key half-pressed. It's like saying that a long response time on modern computers is normal, because you can put together a game configuration that, in exclusively optimized programs, shows a response time of 50 ms. Ordinary, non-hardcore gamers just don't bother with this. Since they constitute an absolute majority, the behavior of "serious" gamers can be mistaken for a statistical error. which in extremely optimized programs shows a response time of 50 ms. Ordinary, non-hardcore gamers just don't bother with this. Since they constitute an absolute majority, the behavior of "serious" gamers can be mistaken for a statistical error. which in extremely optimized programs shows a response time of 50 ms. Ordinary, non-hardcore gamers just don't bother with this. Since they constitute an absolute majority, the behavior of "serious" gamers can be mistaken for a statistical error.

Another important source of delay is scanning the keyboard matrix and the delay in eliminating false repeat clicks. None of these delays is mandatory - the matrix is ​​installed in the keyboard instead of connecting each key individually, because it saves a couple of dollars, and most keyboards scan the matrix so slowly that the delay becomes noticeable to the user, in order to save a couple more dollars. But manufacturers are willing to slightly increase costs in order to reduce latency to a level well below the threshold of human perception. See below for a delay in a second press.

Although we did not discuss performance issues here, when measuring my typing speed, I noticed that it is higher on the Apple keyboard with a low key travelthan any other. It is not possible to conduct a blind experiment here, but Gary Bernhardt and others confirm these findings. Some say that the key stroke does not affect the typing speed, because they use the smallest possible stroke, so it does not matter. But as with the pre-pressed keys, if you walk around and shoot with a high-speed camera, as in reality people type, it’s hard to find someone who actually does this.

Appendix: Counter Arguments Against Delay Matters


Before writing this article, I read all the materials about the response time that I could find - and it was difficult to find an article where at least one argument from the following was missing in the comments:

Computers and devices are fast


The main counterargument against measuring response time is that the input delay is practically zero, so it can be ignored. For example, two top comments on this entry on Slashdot . One of them even says:

No modern keyboard has a delay of 50 ms. This is a delay for you (people).

As for response time, you just need to increase the polling speed in the USB stack.

As we saw, some devices still fit during the 50 ms response time. This quote, as well as other comments in that thread, illustrates another common misconception - that the response time of input devices is limited by the speed of polling USB. Although technically this is possible, but now most devices have not even come close to such a speed that the USB polling delay is a limitation.

Unfortunately, most explanations for input latency suggest that the USB bus is the limiting factor .

People do not distinguish between 100 or 200 ms delay


Here is a “cognitive neuroscientist who studies visual perception and cognitive abilities . " He refers to the fact that a person’s reaction speed is 200 ms, and he says a bunch of scientific nonsense to prove that no one is able to notice a delay of less than 100 ms. It is a little unusual here that the commentator declares his special authority and abundantly uses scientific terminology, but in general often people say that a delay of 50 or 100 ms cannot be noticed, because the human reaction speed is 200 ms. Such an argument does not make sense, because these are independent quantities. It’s like saying that you didn’t notice the plane’s delay of one hour, because the flight time is six hours.

Another problem with this kind of argument is the following. If you accept it, then nothing prevents you from adding 10 ms of delay at each stage of the I / O pipeline - as a result, the total time is greatly inflated and we get the situation like now when you buy a computer with the fastest processor on the market, and the response time is it is six times worse than a car of the 70s.

It doesn’t matter because the game is updated at 60 FPS


Fundamentally, this is the same fallacy as the previous one. If you have a delay of half a measure, then with a 50% probability it will transfer the event to the next processing step. This is better than a 100% probability, but I don’t understand why people think that the delay should be as large as the screen refresh rate so that it matters. And for reference, a 45 ms delta between the slowest and fastest of the keyboards we measured corresponds to 2.7 frames at 60 FPS.

Keyboards cannot be faster than 5/10/20 ms due to elimination of false repeated presses


Even without efforts to optimize the switch mechanism, if you need to add a delay to the system, there is no reason why the keyboard cannot count the keystroke (or release) of a key at the moment of contact. This is done everywhere in other types of systems and, as far as I can tell, no one bothers keyboards to do the same (and I hope some of them do this). Time to eliminate false repeated presses can limit the speed of re-entering a character, but there is no mandatory reason why it should affect the response time. And if we take the speed of re-entering a character, then imagine a limitation of 5 ms for the time the key state changes due to a delay. This means that a full cycle (pressing and releasing) takes 10 ms, i.e. 100 keystrokes per second, which far exceeds the capabilities of any person. You may object that a certain inaccuracy appears in this way, which can negatively affect some applications (music, rhythm games), but it is limited by the switch mechanism. Using the mechanism for eliminating false repeated clicks with delay does not make the situation worse than it was before.

An additional problem with the delay in eliminating false repeated keystrokes is that most keyboard makers seem to confuse the polling speed and the delay in eliminating false repeated keystrokes. You can often find keyboards with a polling frequency of 100 to 200 Hz. This is justified by statements like “There is no reason to increase the polling speed, because the delay in eliminating false repeated clicks is 5 ms” - both errors described above are combined here. If you pull out the circuits from the Apple 2e keyboard, you will see that there the polling frequency there is about 50 kHz. The delay for eliminating false repeated clicks is approximately 6 ms, which corresponds to a frequency of 167 Hz. Why poll the keyboard so often? Thanks to the quick scan, the keyboard controller immediately starts counting the delay time to eliminate false repeated clicks (after a maximum of 20 microseconds), unlike modern keyboards that are interrogated at 167 Hz. Because of this, the countdown time for repeated operation can begin after 6 ms, that is, a pause takes 300 times longer.

I apologize for the lack of clarification on the terminology, but I think that anyone who makes such an argument should understand the explanation :-).

Application: experimental installation


USB measurements were taken on a USB cable . Opening the cable violates the integrity of the signal, and I found that with a long cable some keyboards with a weak signal do not provide a sufficient level for registration with my cheap logic analyzer.

The beginning of the measurement was initiated by the simultaneous pressing of two keys - one on the keyboard, and the second connected to the logic analyzer. A certain error appears here, because it is impossible to press two keys at the same time. To calibrate the setup, we used two identical keys connected to a logic analyzer. The median average error was less than 1 ms, and 90% of the errors fit within 5 ms. For really fast keyboards, errors of this size make it impossible to measure on this setup, but in our case the average delay measurements can be considered acceptable. Probably, the error when pressing the buttons simultaneously can be reduced by a negligible amount if you design a device that will simultaneously press the button and turn on the logic analyzer.

If you want to know the exact configuration of the installation, then the E-switch LL1105AF065Q switch was used . Power and ground are provided by the Arduino board . There is no definite reason to use such a configuration specifically. In fact, it’s a little absurd to use the whole Arduino for power, but we did everything from improvised spare parts, namely these parts were in the laboratory of our coworking center , except for the switches. There were no two identical instances of at least some switch, so we had to buy several for calibration on the same equipment. The specific model does not matter here; any switch with low ohmic resistance is suitable.

During tests, the key was pressed.z- Byte 29 was checked on the USB bus, and then the time of the first packet with the corresponding information was recorded. But as in the above situation, any key will do.

In reality, I don’t really trust this configuration and for testing a large number of keyboards I would like to build a fully automatic installation. Although our results are consistent with the results of one other test that was found on the Internet, the error in such a setup is probably in the range from 1 to 10 ms. Although averaging the results of numerous test runs theoretically reduces the error, but since the measurements are carried out by a person, it is not necessary and even unlikely that the errors will be independent and disappear after averaging.

I am trying to find more models of phones and computers for measurements and would be happy to conduct a quick test on your system or device if she / he is not in the list ! If you live far away and want to donate a test device, you can send it to my address:

Dan Luu Recurse
Center
455 Broadway, 2nd Floor
New York, NY 10013

Also popular now: