Keyboard latency test: vertraging en polling rate uitgelegd

Veel sites bieden een keyboard latency test of een polling-rate-checker aan, maar een webpagina ziet toetsenbordevents pas nadat het toetsenbord, de USB- of draadloze verbinding en het besturingssysteem hun werk hebben gedaan. Deze gids legt elk deel van de vertraging uit tussen het indrukken van een toets en het zien van het resultaat, wat timing in de browser eerlijk kan laten zien, en wat je nodig hebt om echte latency te meten.

Waar toetsenbordvertraging vandaan komt

Tussen je vinger en het scherm zit een keten van stappen, die elk wat tijd toevoegen:

  1. Indrukdiepte en actuatie: de toets beweegt tot de schakelaar registreert. Bij mechanische schakelaars ligt dat punt vast; bij analoge toetsenborden (Hall-effect of vergelijkbaar) is het soms instelbaar.
  2. Scannen: de controller van het toetsenbord controleert de toetsenmatrix steeds opnieuw. Hoe vaak dat gebeurt, is de scan rate.
  3. Debounce: de controller wacht of filtert zodat een stuiterend contact niet als meerdere aanslagen wordt gemeld.
  4. Polling en transport: via USB vraagt de computer het toetsenbord om nieuwe gegevens volgens de polling rate; draadloze en Bluetooth-verbindingen hebben hun eigen timing.
  5. Besturingssysteem en app: de invoer wordt verwerkt en aan het programma geleverd.
  6. Weergave en beeldscherm: het programma tekent een nieuw beeld en de monitor laat het zien.

De totale latency is de som van al deze stappen. Marketingcijfers beschrijven meestal maar één deel.

Polling rate in gewone getallen

De polling rate is hoe vaak de computer meldingen ophaalt bij een USB-toetsenbord. Bij 125 Hz is de tussenpoos 8 ms, bij 1000 Hz 1 ms en bij 8000 Hz 0,125 ms. Een hogere rate verkort het wachten op de volgende melding, maar alleen dat wachten: scan rate, debounce, het systeem en het beeldscherm voegen nog steeds hun deel toe. De polling rate zegt ook niets over hoe snel de eigen controller van het toetsenbord de toets opmerkt.

Wat een browser kan zien

Een webpagina ontvangt keydown- en keyup-events met tijdstempels. Daaruit kan ze laten zien:

Ze kan niet zien wanneer je de toets fysiek indrukte, alleen wanneer het event aankwam. Browsers ronden tijdstempels bovendien af om privacyredenen, soms grof, en het systeem kan meerdere invoerevents samen bundelen. Een tijdstempel van een toetsenbordevent is dus geen meting van toetsenbordvertraging.

Waarom een website de polling rate van een toetsenbord niet kan certificeren

Muisbewegingen geven een doorlopende stroom meldingen, dus de tussenpozen tussen events geven een ruwe schatting van de rate van een muis; dat doet de polling rate test voor muizen. Een toetsenbord stuurt een melding wanneer toetsen van status veranderen, en je kunt toetsen lang niet 1000 keer per seconde indrukken. Zonder gelijkmatige stroom om te timen heeft de browser niets om een polling rate van een toetsenbord uit te schatten. Een site die op basis van typen alleen "je toetsenbord draait op 1000 Hz" toont, gokt. De instelling in de software van je toetsenbord, of een USB-analysetool, is de betrouwbare bron.

Actuatiepunt en rapid trigger

Bij analoge toetsenborden worden het actuatiepunt (hoe ver de toets moet bewegen voordat hij registreert) en rapid trigger (een loslaten registreren zodra de toets begint te stijgen) gemeten door sensoren in het toetsenbord. De browser ontvangt alleen het resulterende indrukken en loslaten, niet de positie van de toets, dus een webpagina kan de actuatieafstand niet meten. Gebruik daarvoor de eigen software van het toetsenbord, die de sensorwaarden direct uitleest. Wat een browsertest wel kan bevestigen, is dat indrukken en loslaten aankomen wanneer je dat verwacht, bijvoorbeeld door snel te tikken in de keyboard test.

Zo meet je echte latency

Echte latency van begin tot eind vraagt om een referentie buiten de computer: een hogesnelheidscamera die zowel de toets als het scherm filmt, of een speciale latencytester die het indrukken en de verandering op het scherm detecteert. Film of meet veel aanslagen en neem het gemiddelde, want losse resultaten variëren met de timing van beelden en polls. Gebruik je een camera:

  • gebruik voor elk toetsenbord dezelfde scène, hetzelfde scherm, dezelfde verversingsfrequentie en dezelfde instellingen;
  • druk stevig en steeds op dezelfde manier;
  • tel de beelden vanaf het moment dat de toets de bodem raakt of de schakelaar bekend actueert tot de eerste zichtbare verandering.

Toetsenborden eerlijk vergelijken

  • Verander één ding tegelijk: dezelfde poort, kabel, computer, monitor en app voor elk toetsenbord.
  • Bedrade resultaten zeggen niets over hetzelfde toetsenbord in draadloze of Bluetooth-modus; test elke modus apart.
  • Verzamel veel metingen en vergelijk naast gemiddelden ook de spreiding.
  • Zie elk losse getal van een website, ook een browsertiming, als een aanwijzing en niet als een meting.

Vragen

Kan een browser toetsenbordvertraging meten?

Niet de echte latency. Een pagina ziet alleen wanneer het toetsenbordevent aankwam, niet wanneer je de toets indrukte, en de tijdstempels zijn afgerond. Voor het meten van latency heb je een externe referentie nodig, zoals een hogesnelheidscamera of een speciale tester.

Hoe controleer ik de polling rate van mijn toetsenbord?

Kijk in de software of de instellingen van het toetsenbord; die tonen en wijzigen hem meestal. Een website kan de polling rate van een toetsenbord niet betrouwbaar uit typen afleiden, omdat toetsen geen gelijkmatige stroom meldingen geven.

Is 8000 Hz beter dan 1000 Hz?

Het verkort één deel van de vertraging, van maximaal 1 ms naar maximaal 0,125 ms tussen polls. Of je dat merkt, hangt af van de andere delen van de keten, die vaak veel meer toevoegen.

Heeft deze site een keyboard latency test?

Nee, bewust niet. De toetsenbordtools van TestDock meten wat een browser betrouwbaar kan zien: welke toetsen aankomen, hoeveel tegelijk, en de timing van aanslagen voor chatter. Deze gids legt uit hoe je latency op de juiste manier meet.

Verwante tests