Stoppeklokke
Trykk på Start, og ta rundetider mens klokken går.
0.00,00
Mellomrom starter og stopper, L tar runde, R nullstiller.
Slik fungerer det
Stoppeklokken måler med nettleserens klokke for målinger, performance.now(), og teller ikke skjermoppdateringer. Den klokken påvirkes ikke om datamaskinens klokke stilles om, men unntatt på Windows står den stille mens maskinen sover, så tiden i dvale legges til fra datamaskinens vanlige klokke. Tiden stemmer selv om fanen ligger i bakgrunnen en stund.
Rundetiden er tiden siden forrige runde, totalen er tiden fra start. Med minst to runder markeres den raskeste og den tregeste.
Med tastaturet starter og stopper du med mellomrom, tar runde med L og nullstiller med R når klokken står stille.
Hundredelene viser hva klokken målte, men et menneskelig trykk har en reaksjonstid på rundt to tideler av et sekund. Derfor tas tiden med fotoceller i konkurranser.
Slik måler verktøyet
Stoppeklokken leser av to klokker: nettleserens klokke for målinger, performance.now(), og datamaskinens vanlige klokke, Date.now(). Ved hver avlesning legges tiden siden forrige avlesning til tiden som allerede er målt, også fra tidligere kjøringer. Avlesningen skjer én gang per skjermbilde, én gang i sekundet eller så ofte nettleseren tillater når fanen ligger i bakgrunnen, og straks fanen vises igjen. Hundredelene rundes ned: 65,437 sekunder vises som 1.05,43. Over én time kommer timene først, som i 1.02.03,45.
En runde lagrer totaltiden i det øyeblikket du trykker, og rundetiden er forskjellen fra forrige runde. Hver tid rundes ned for seg, så de viste rundetidene kan til sammen bli én hundredel kortere enn totalen. Med runder på 62,415 og 62,625 sekunder vises rundetidene 1.02,41 og 1.02,62, som til sammen blir 2.05,03, mens totalen viser 2.05,04. Raskeste og tregeste avgjøres på de viste hundredelene. Vises alle rundene likt, markeres ingen av dem, og deler flere runder den raskeste eller den tregeste tiden, markeres alle.
Klokka som måler
W3Cs spesifikasjon High Resolution Time beskriver performance.now() som en monoton klokke: den går aldri bakover og kan ikke endres når systemklokka justeres, og en nettleser som bremser tidtakere i en fane i bakgrunnen, skal ikke la det påvirke nøyaktigheten. Men ifølge MDN går den bare videre mens maskinen sover, i nettlesere på Windows. I Chrome, Firefox og Safari på andre systemer står den stille i dvalen, og feilen er meldt hos alle tre. Datamaskinens vanlige klokke, Date.now(), teller dvalen, men kan stilles om, for eksempel når den synkroniseres mot en tidsserver.
Stoppeklokken regner derfor hvert steg mellom to avlesninger med performance.now(), unntatt når datamaskinens klokke har gått mer enn to sekunder lenger. Da har måleklokka stått stille mens maskinen sov, og steget tas fra datamaskinens klokke. En klokke som stilles tilbake, påvirker altså aldri tiden, og en natt i dvale regnes med på alle systemer. En klokke som stilles fram mer enn to sekunder mens stoppeklokken går, regnes derimot som tid som har gått, fordi det innenfra nettsiden ikke kan skilles fra dvale.
Sammenlignet med tidtaking i konkurranser
World Athletics’ regler for friidrett runder av den andre veien. Ved manuell tidtaking på bane rundes en tid som ikke er hele tideler, opp til neste tidel, så 10,11 sekunder blir 10,2. Med målfoto rundes tider i løp til og med 10 000 meter opp til neste hundredel. Tiden 65,437 sekunder, som stoppeklokken viser som 1.05,43, ville altså blitt registrert som 1.05,44 med målfoto og 1.05,5 med manuell tidtaking. Ved manuell tidtaking tar tre tidtakere tid, og er alle tre uenige, gjelder den midterste.