Sind Gaming-Keyboards wirklich schneller als Standardtastaturen?
Einleitung
Für den originalen Englischen Artikel, siehe hier.
Es mag erstaunlich klingen, aber moderne Tastaturen verfügen über 20x so viele Transistoren wie Intels 8080 Mikroprozessor, einer der Standard-Prozessoren in Computern der 1970er Jahre. Wir Menschen neigen dazu, davon auszugehen, dass moderne Peripherie von Generation zu Generation immer um den Faktor X schneller wird. In Wirklichkeit ist dem jedoch nicht so, denn trotz der Vielzahl an Transistoren und den hohen Taktraten im Vergleich zu frühen Computern zeigen moderne Tastaturen eine vergleichsweise hohe Auslöseverzögerung im Vergleich zu den Tastaturen von anno dazumal.
Beim Zusammenstellen eines High-End-PCs ist die Tastatur oftmals nur eine Randnotiz. Abgesehen von wenigen Enthusiasten verschwendet niemand seine Zeit damit, die unterschiedlichen Spezifikationen einzelner Tastaturen durchzugehen und miteinander zu vergleichen. Bei der Suche nach einem Gaming-Keyboard achten die meisten Käufer in der Regel auf die Auslöseverzögerung und Tastenmechanik. Auch gilt die Binsenweisheit, dass Tastaturen mit höherer Abtastrate besser zum Gaming geeignet sind als solche mit niedrigerer, da ihnen geringere Eingabeverzögerung sowie kürzere Reaktionszeiten zugeschrieben werden. Aber spielen Reaktionszeiten und Abtastrate tatsächlich überhaupt eine Rolle bei der Wahl des richtigen Gaming-Keyboards oder steckt dahinter nur inhaltsleeres Marketing? Und sind PS/2-Tastaturen von anno dazumal tatsächlich besser als moderne USB-Tastaturen mit niedriger Latenz? Ex-Microsoft-Ingenieur Dan Luu hat sich ein kleines Experiment ausgedacht, dass die Antworten auf diese Fragen liefern könnte.
Bevor wir in die Details gehen, ist es wichtig, die Fachbegriffe abzuklären und zu definieren.
Abtastrate - die Häufigkeit, mit der die CPU den USB-Bus nach Daten abfragt. Eine Tastatur mit einer Abtastrate von 1.000 Hz bedeutet, dass die CPU diese 1.000 Mal pro Sekunde, oder 125 Mal alle 8 Millisekunden, abfragt. Das Betriebssystem bekommt diese Abtastrate von der Hardware mitgeteilt, wenn diese angesteckt wird und sich am USB-Bus anmeldet. Obwohl dies bei modernen CPUs schon lange keine Rolle mehr spielt, können Geräte mit hohen Abtastraten durchaus zu nennenswerter CPU-Last führen.
Matrix-Scan-Rate - die Häufigkeit, mit welcher der Mikroprozessor der Tastatur die gesamte Tastaturmatrix (also die Reihen und Spalten an Tasten) abfragt, um zu ermitteln, welche Taste gedrückt wurde. Wird ein Tastendruck - also eine binäre Null - registriert, wird diese Eingabe verarbeitet und an den Host geschickt. Die Häufigkeit dieser Abtastung ist in der Firmware der Tastatur festgelegt und dem Anwender in der Regel nicht bekannt.
Debounce-Algorithmus - aufgrund der mechanischen Eigenschaften eines elektrischen Schalters flattert dieser mehrfach, bevor endgültig Kontakt hergestellt und die geschaltete Position eingenommen wird. Diese Zeitspanne des Flatterns ist in der Regel nicht spürbar, jedoch elektrisch bereits als zusätzlicher Tastendruck erkennbar. Der Debounce-Algorithmus wird in der Firmware der Tastatur implementiert und sorgt dafür, dass die Tastatur diesen Effekt aufhebt, um keine multiplen Tastenauslösungen zu registrieren.
Mit Hilfe eines Logikanalysators sowie einer Hochgeschwindigkeitskamera konnte Luu nachweisen, dass Tastaturen, die explizit mit höherer Geschwindigkeit beworben werden, in der Praxis langsamer waren als normale Tastaturen. Die Latenz wurde gemessen ab dem Moment, an dem die Taste anfing, sich zu bewegen bis zu dem Moment, an dem das zugehörige Signal den USB-Bus verließ. Im Test wurde die Z-Taste gedrückt, was dem Byte 29 auf dem USB-Bus entspricht. Gerundet wurde auf die nächsten 5 ms. Dabei kamen unterschiedliche Arten des Anschlusses zum Einsatz. Einige Tastaturen setzten auf USB-FS (USB Full-Speed), was eine Abtastrate von 1.000 Hz ermöglicht, die meisten hingegen auf das normale USB-Protokoll und eine entsprechend niedrigere Abtastrate. Konventionelle Tastaturen und Gaming-Keyboards wurden anschließend gegenübergestellt, um festzustellen, welche der getesteten Tastaturen die niedrigste Latenz aufwies.
Ergebnisse
Und die Ergebnisse waren ziemlich überraschend. Die Tastatur mit der niedrigsten Latenz im Test war Apples Magic Keyboard 2, mit gerade mal 15 ms. Gleichzeitig hatten ausgewiesene Gaming-Keyboards, wie die Razer Ornata Chroma oder die Easterntimes 1500 (auch bekannt als Tomoko MMC023) Latenzen von 35 und 50 ms. Betrachtet man die Zahlen genauer, stellt man fest, dass viele Tastaturen eine Latenz aufweisen, die sogar noch über der gesamten Ende-zu-Ende-Pipeline eines Apple-II-Computers aus den 70er Jahren liegt. In die Befehlskette zwischen dem Tastendruck auf der Tastatur und dem Erscheinen des Buchstabens auf dem Bildschirm spielt die Latenz der Tastatur somit eine sehr wichtige Rolle.
Wie entsteht Keyboard-Latenz?
Warum aber hat Apples Tastatur, die noch nicht mal besonders beworben wird, eine derart auffallend niedrige Latenz, während ausgewiesene dedizierte Gaming-Keyboards viel höhere Latenzen aufweisen? Die Antwort könnte im Tastenhub liegen. Misst man mit einer 240-FPS-Kamera (4 ms pro Bild), dauert der gesamte Vorgang des Tastendrucks zwischen 4 - 8 Frames. Obwohl bei mechanischen Tastaturen die Taste bereits elektrisch auslöst, noch ehe sie physikalisch bis zum Anschlag gedrückt wurde, kann abhängig vom Auslösemechanismus allein durch den Hub bereits eine Verzögerung von bis zu 10 ms eintreten. Der Hub von Apples Tastatur ist hingegen so kurz, dass er von der Hochgeschwindigkeitskamera noch nicht mal mehr aufgenommen und registriert wurde.
Abgesehen von Hub spielen auch die Keyboard-Matrix sowie der Debounce-Algorithmus eine wichtige Rolle. Da der Mikroprozessor der Tastatur die gesamte Matrix nach einem möglichen Tastendruck abfragen muss, kann dies zu einer spürbaren Verzögerung führen. Verbessert werden kann dies durch eine höhere Matrix-Scan-Rate und einen besseren Debounce-Algorithmus.
Allgemein gilt, dass der Mensch nicht in der Lage ist, Latenzen unterhalb von 200 ms als solche zu erkennen. Aufgrund der Länge der gesamten Pipeline vom Moment des Tastendrucks bis zum Erscheinen des Buchstabens auf dem Bildschirm ist es jedoch durchaus denkbar, dass jegliche zusätzliche Latenz in diesem Prozess sofort spürbar wird. Da kann die CPU eine noch so hervorragende Single-Threaded-Leistung bringen, wenn die Latenzen an dieser Stelle zu hoch sind, wirkt das gesamte System langsamer als eines aus der Anfangszeit der Heim-PCs oder eines mit PS/2-Anschluss.
Fazit
Die Latenz der Tastatur ist ein Aspekt, dem beim Zusammenbau eines neuen PCs in der Regel kaum bis keine Beachtung geschenkt wird. In der Praxis ist es auch sehr aufwendig, solche Latenztests durchzuführen. Das vorliegende Experiment zeigt, dass Gaming-Keyboards in der Praxis nicht so schnell sind wie gewöhnliche Tastaturen. Luu plant seine Tests weiter fortzuführen und die Testgruppe zu erweitern. Außerdem ist auch angedacht, die gesamte Pipeline eines Tastendrucks zu untersuchen und einzubeziehen um genauer verstehen zu können, an welcher Stelle eine hohe Latenz genau entsteht. Eine Einschränkung des Testverfahrens ist die bisherige Limitierung auf USB-Tastaturen. Anhänger des PS/2-Ports argumentieren schon lange, dass dieser deutlich kürzere Reaktionszeiten unterstützt und außerdem auch den N-Key-Rollover besser handhabt als USB. Aufgrund seiner Natur hat der auf zyklischen Abfragen basierende USB-Bus im Vergleich zum Interrupt-basierten PS/2-Bus systemimminente Nachteile bei der Anzahl der Datenpakete und entsprechenden Bestätigungen (ACK), die pro Zeiteinheit verarbeitet werden können. Unsere Hoffnung ruht darauf, dass Luu ein paar PS/2-Tastaturen untersucht, damit wir ein besseres Bild bekommen.
Obwohl Faktoren wie N-Key-Rollover und Anti-Ghosting mit Sicherheit eine Rolle spielen, kann niedrige Latenz der entscheidende Aspekt bei Gamern und professionellen Schreibern sein. Und da Latenz von vielen Faktoren abhängt, von denen so manche von der Firmware der Tastatur bestimmt werden, stehen Endanwender diesbezüglich ein wenig im Regen. Es ist somit höchste Zeit, dass Hersteller diese Latenzen ganz konkret angeben und sich um eine Reduktion bemühen, von der alle Anwender profitieren würden.