Gib „controller polling rate test“ in eine Suchmaschine ein und du wirst ein Dutzend Seiten finden, die dir eine Zahl in Hz liefern. Führe zwei davon auf demselben Controller aus und du erhältst möglicherweise zwei verschiedene Antworten. Führe einen davon auf einem 60 Hz Laptop und dann auf einem 144 Hz Monitor mit demselben Pad aus, und du erhältst zwei sehr unterschiedliche Antworten.
Die Zahl ist nicht zufällig. Es ist deine Bildwiederholrate.
Der Mechanismus in einem Absatz
Ein Browser empfängt Gamepad-Eingaben nicht als Ereignisse. Es gibt kein oncontrollermove. Eine Seite fragt
navigator.getGamepads()nach dem aktuellen Status, und der sinnvollste Ort zum Fragen ist innerhalb des Animations-Callbacks – die Funktion, die der Browser einmal pro gezeichnetem Frame ausführt. Eine Seite kann also maximal eine Zustandsänderung pro Frame beobachten. Bei 60 fps sind das sechzig Beobachtungen pro Sekunde, bei 144 fps einhundertvierundvierzig, und es macht keinen Unterschied, ob das Pad darunter mit 125 Hz oder 1000 Hz berichtet.
Alles Folgende ergibt sich aus dieser einen Tatsache.
Warum die Zahl dir trotzdem etwas sagt
Ein Messwert am Limit ist nicht wertlos. Er ist ein Mindestwert: Dein Controller hält mit deinem Display Schritt, was der Teil ist, der das Spiel erreicht. Ein Frame ohne neue Controller-Daten wäre ein Frame, in dem sich deine Ansicht nicht gedreht hat, und genau das hast du nicht.
Was er nicht kann, ist den Unterschied zwischen einem Pad zu erkennen, das deinem Display komfortabel voraus ist, und einem, das gerade so mithält. Beide lesen sich gleich.
Wenn die Zahl echt ist
Wenn der Messwert deutlich unterdeiner Bildwiederholrate liegt, ist der Controller das langsamere der beiden Geräte und der Wert ist eine echte Messung. Das ist bei Bluetooth üblich und ein Fall, bei dem es sich lohnt zu handeln — einige Frames deines Spiels verwenden die vorherige Stick-Position erneut, weil nichts Neueres angekommen ist.
Das ist der gesamte Entscheidungsbaum:
- Am Limit— hier gibt es nichts zu beheben. Ein Kabel kann keine Zahl erhöhen, die der Browser nie sehen konnte.
- Unter dem Limit— das Gamepad ist der limitierende Faktor. Es lohnt sich, den Test mit einem Kabel zu wiederholen, da dasselbe Gamepad kabelgebunden meist viel schneller meldet als über Bluetooth.
Was die Referenztabellen bedeuten
Die meisten Seiten zur Polling-Rate drucken eine Tabelle wie diese:
| Verbindung | Üblicherweise gemeldet |
|---|---|
| USB-Kabel | around 1000 Hz |
| 2.4 GHz Empfänger | around 1000 Hz |
| Bluetooth, Xbox Pads | around 125 Hz |
| Bluetooth, PlayStation Pads | around 250 Hz and up |
Diese Zahlen stammen von den Protokollen, nicht von einem Browser, und sie sind ein nützlicher Kontext. Aber beachte, was die Tabelle zusammen mit dem oben genannten Mechanismus bedeutet: auf einem 144 Hz Displayliegt jede einzelne Zeile außer Bluetooth-Xbox über deinem Limit. Ein Browser kann keinen von ihnen unterscheiden. Die Tabelle beschreibt eine Reihe von Hardware, die ein Browsertest auf eine einzige Antwort reduziert.
Warum dein Stick sich bewegen muss
Ein Controller, der stillsteht, sendet möglicherweise gar keine Pakete mehr — es gibt nichts zu melden, und die Stille spart Akku. Ein Test, der Zustandsänderungen zählt, während du die Hände vom Controller lässt, würde die Leerlaufrate messen und sie als Polling-Rate bezeichnen.
Daher verlangt jede ehrliche Version dieses Tests, dass du die Sticks während der gesamten Messung bewegst. Wenn du eine verdächtig niedrige Zahl siehst, ist das der erste Punkt, den du prüfen solltest, bevor du Rückschlüsse auf die Hardware ziehst.
Was das für ein Spiel bedeutet
So gut wie nichts, und das ist der Teil, den Hz-Argumente meist auslassen. Ein Spiel liest deinen Controller nach seinem eigenen Zeitplan aus — normalerweise einmal pro Simulationstick oder einmal pro Frame — genau aus dem Grund, aus dem es ein Browser tut. Ein Pad, das mit 1000 Hz an ein Spiel mit 120 fps meldet, sendet etwa acht Pakete pro Lesezugriff, von denen sieben ersetzt werden, bevor sie überhaupt verarbeitet werden.
Das Argument für ein schnelleres Pad ist nicht, dass das Spiel mehr davon sieht. Es ist, dass das neueste Paket zum Zeitpunkt des Lesevorgangs aktueller ist: Bei 1000 Hz sind die Daten höchstens eine Millisekunde alt, bei 125 Hz können es acht sein. Das ist ein echter Unterschied, wenn auch ein kleiner, und es ist eine andere Behauptung als die, die die Hz-Zahl zu machen scheint.
Wie man einen vergleichbaren Wert erhält
- Messe auf dem Gerät, auf dem du tatsächlich spielst, mit dem Display, das du tatsächlich verwendest.
- Notiere deine Bildwiederholrate neben dem Ergebnis. Ein Controller-Messwert ohne diese Angabe ist nicht interpretierbar.
- Bewege beide Sticks während der gesamten Messung.
- Wiederhole den Vorgang einmal. Ein einzelner Durchlauf, der von zwei anderen abweicht, ist ein Timing-Problem, keine Hardware-Sache.
- Wenn die Zahl unter deiner Bildwiederholrate liegt, versuche es mit einem Kabel und messe erneut. Wenn sie am Limit liegt, gibt es hier nichts zu verbessern.
Der Controller-Checkführt dies zusammen mit Drift, Stick-Bereich, Tasten und Triggern aus und druckt das Limit neben den Messwert. DerInput-Lag-Testmeldet dieselbe Messung mit der Intervallverteilung dahinter, was aussagekräftiger ist als jeder der beiden Werte allein.
Die Kurzfassung
Ein Browser fragt ein Gamepad einmal pro gezeichnetem Frame ab. Jede Controller-Polling-Rate, die dir ein Browser anzeigt, ist durch deine Bildwiederholrate begrenzt. Ein Wert an diesem Limit bedeutet also „mindestens so schnell, und diese Seite kann nicht mehr sehen“. Nur ein Wert unterhalb dieses Limits ist der tatsächliche Wert deines Controllers – und nur diesen zu ändern lohnt sich.