Keyboard latency test: fördröjning och pollingfrekvens förklarade
Många webbplatser erbjuder ett keyboard latency test eller en polling rate-mätare, men en webbsida ser bara tangenthändelser efter att tangentbordet, USB- eller den trådlösa länken och operativsystemet har gjort sitt. Den här guiden förklarar varje del av fördröjningen mellan att du trycker på en tangent och att du ser resultatet, vad webbläsarens tidtagning ärligt kan visa och vad du behöver för att mäta verklig fördröjning.
Var fördröjningen i tangentbordet kommer ifrån
Mellan fingret och skärmen finns en kedja av steg som vart och ett lägger till lite tid:
- Vandring och aktivering: tangenten rör sig tills brytaren registrerar. På mekaniska brytare är den punkten fast; på analoga tangentbord (Hall-effekt eller liknande) kan den vara justerbar.
- Skanning: tangentbordets styrkrets kontrollerar tangentmatrisen gång på gång. Hur ofta den gör det är scanfrekvensen.
- Debounce: styrkretsen väntar eller filtrerar så att en studsande kontakt inte rapporteras som flera tryck.
- Polling och överföring: över USB frågar datorn tangentbordet efter ny data med sin pollingfrekvens; trådlösa länkar och Bluetooth har egen tidtagning.
- Operativsystem och app: inmatningen bearbetas och levereras till programmet.
- Rendering och skärm: programmet ritar en ny bildruta och skärmen visar den.
Den totala fördröjningen från början till slut är summan av allt detta. Marknadsföringssiffror beskriver oftast bara en del.
Pollingfrekvens i enkla siffror
Pollingfrekvens är hur ofta datorn hämtar rapporter från ett USB-tangentbord. Vid 125 Hz är intervallet 8 ms, vid 1000 Hz 1 ms och vid 8000 Hz 0,125 ms. En högre frekvens förkortar väntan på nästa rapport, men bara den väntan: scanfrekvens, debounce, systemet och skärmen lägger fortfarande till sin del. Pollingfrekvensen säger inte heller något om hur snabbt tangentbordets egen styrkrets upptäcker tangenten.
Vad en webbläsare kan se
En webbsida tar emot händelserna keydown och keyup med tidsstämplar. Utifrån dem kan den visa:
- tiden mellan ett tryck och dess släpp, och mellan på varandra följande tryck, vilket är hur chatter-testet hittar brytarstuds;
- vilka tangenter som hålls samtidigt, som i anti ghosting-testet;
- det exakta tangentvärdet och koden, som i keycode tester.
Den kan inte se när du fysiskt tryckte på tangenten, bara när händelsen kom fram. Tidsstämplar avrundas dessutom av webbläsare av integritetsskäl, ibland grovt, och systemet kan gruppera flera inmatningshändelser. En tidsstämpel för en tangenthändelse är därför inte en mätning av tangentbordets fördröjning.
Varför en webbplats inte kan intyga tangentbordets pollingfrekvens
Musrörelser ger en kontinuerlig ström av rapporter, så mellanrummen mellan händelserna kan ge en grov uppskattning av musens frekvens, vilket är vad polling rate-testet för mus gör. Ett tangentbord skickar en rapport när tangenter ändrar läge, och du kan inte trycka på tangenter i närheten av 1000 gånger per sekund. Utan en jämn ström att tidmäta har webbläsaren ingenting att uppskatta en pollingfrekvens från. En webbplats som skriver ”ditt tangentbord kör på 1000 Hz” bara utifrån skrivande gissar. Inställningen i tangentbordets programvara, eller ett USB-analysverktyg, är den pålitliga källan.
Aktiveringspunkt och rapid trigger
På analoga tangentbord mäts aktiveringspunkten (hur långt tangenten rör sig innan den registreras) och rapid trigger (att ett släpp registreras så snart tangenten börjar gå upp) av sensorer inne i tangentbordet. Webbläsaren tar bara emot det resulterande trycket och släppet, inte tangentens position, så en webbsida kan inte mäta aktiveringsavstånd. Använd tangentbordets egen programvara, som läser sensorvärdena direkt. Vad ett webbläsartest kan bekräfta är att tryck och släpp kommer när du väntar dig, till exempel genom att trycka snabbt i tangentbordstestet.
Så mäter du verklig fördröjning
Verklig fördröjning från början till slut kräver en referens utanför datorn: en höghastighetskamera som filmar både tangenten och skärmen, eller en särskild latensmätare som registrerar trycket och förändringen på skärmen. Filma eller registrera många tryck och ta ett medelvärde, eftersom enskilda resultat varierar med tidpunkten för bildrutor och pollning. Om du använder en kamera:
- använd samma scen, skärm, uppdateringsfrekvens och inställningar för varje tangentbord;
- tryck bestämt och konsekvent;
- räkna bildrutor från det ögonblick tangenten bottnar eller brytaren är känd att aktiveras till den första synliga förändringen.
Jämför tangentbord rättvist
- Ändra en sak i taget: samma port, kabel, dator, skärm och app för varje tangentbord.
- Trådbundna resultat säger ingenting om samma tangentbord i trådlöst läge eller Bluetooth; testa varje läge för sig.
- Registrera många mätvärden och jämför spridning lika väl som medelvärden.
- Behandla varje enskild siffra från en webbplats, inklusive en webbläsartidtagning, som en ledtråd snarare än en mätning.
Frågor
Kan en webbläsare mäta tangentbordets fördröjning?
Inte verklig fördröjning. En sida ser bara när tangenthändelsen kom fram, inte när du tryckte på tangenten, och tidsstämplarna avrundas. Att mäta fördröjning kräver en extern referens som en höghastighetskamera eller en särskild mätare.
Hur kontrollerar jag mitt tangentbords pollingfrekvens?
Titta i tangentbordets programvara eller inställningar, som oftast visar och ändrar den. En webbplats kan inte på ett pålitligt sätt uppskatta tangentbordets pollingfrekvens från skrivande, eftersom tangenter inte ger en jämn ström av rapporter.
Är 8000 Hz bättre än 1000 Hz?
Det förkortar en del av fördröjningen, från upp till 1 ms till upp till 0,125 ms mellan pollningarna. Om du märker det beror på resten av kedjan, som ofta lägger till betydligt mer.
Har den här webbplatsen ett keyboard latency test?
Nej, medvetet. TestDocks tangentbordsverktyg mäter det en webbläsare kan se pålitligt: vilka tangenter som kommer fram, hur många samtidigt och tryckens tidtagning för chatter. Den här guiden förklarar hur du mäter fördröjning på rätt sätt.
Relaterade tester
- Keycode testerSe key, code, keyCode, position, modifierare och upprepningsflagga som webbläsaren rapporterar för valfri tangent.
- TangentbordstestTryck på varje tangent och se vilka som registreras, med ANSI-, ISO- och Mac-layout.
- Anti-ghosting-testHåll flera tangenter samtidigt och se vilka kombinationer ditt tangentbord kan rapportera.
- Chatter-testHitta tangenter som skriver dubbelt: varje tryck tidsmäts och upprepningar som är för snabba för ett finger flaggas.
- Numpad-testTryck på varje tangent på det numeriska tangentbordet och se om den registreras, med Num Lock-status synlig.
- Mac-tangentbordstestTangentbordstest med Mac-tangentnamn, för MacBook-tangentbord och Magic Keyboard.
- Spacebar clickerSe hur många gånger du kan trycka på mellanslag på 5 till 60 sekunder; nedhållna tangenter räknas inte.
- Chromebook-tangentbordstestTangentbordstest med Chromebook-karta: sökknappen, översta radens tangenter och piltangenterna.