Cronometru
Apasă Pornește și înregistrează timpi pe tură cât timp merge ceasul.
0:00,00
Spațiu pornește și oprește, L înregistrează o tură, R resetează.
Cum funcționează
Cronometrul măsoară cu ceasul de măsurare al browserului, performance.now(), nu numără actualizările ecranului. Acest ceas nu se schimbă dacă ceasul calculatorului este reglat, dar, în afară de Windows, se oprește cât timp calculatorul este în repaus, așa că timpul de repaus este adăugat după ceasul obișnuit al calculatorului. Timpul rămâne corect chiar dacă fila stă o vreme în fundal.
Timpul pe tură este timpul de la tura precedentă; totalul este timpul de la pornire. De la două ture în sus, cea mai rapidă și cea mai lentă sunt marcate.
De la tastatură, Spațiu pornește și oprește, L înregistrează o tură, iar R resetează când ceasul este oprit.
Sutimile arată ce a măsurat ceasul, dar apăsarea unui om are un timp de reacție de aproximativ două zecimi de secundă. De aceea cursele sunt cronometrate cu celule fotoelectrice.
Cum măsoară instrumentul
Cronometrul citește două ceasuri: ceasul browserului pentru măsurători, performance.now(), și ceasul obișnuit al calculatorului, Date.now(). La fiecare citire, timpul de la citirea anterioară se adaugă la timpul deja măsurat, inclusiv din pornirile anterioare. Citirea se face o dată pe cadru de ecran, o dată pe secundă sau cât de des permite browserul când fila este în fundal, și imediat ce fila devine din nou vizibilă. Sutimile sunt rotunjite în jos: 65,437 secunde apar ca 1:05,43. Peste o oră, orele apar primele, ca în 1:02:03,45.
O tură păstrează timpul total din momentul în care apeși, iar timpul pe tură este diferența față de tura anterioară. Fiecare timp este rotunjit în jos separat, așa că timpii pe tură afișați pot da împreună cu o sutime mai puțin decât totalul. Cu ture de 62,415 și 62,625 secunde, timpii pe tură apar ca 1:02,41 și 1:02,62, care dau împreună 2:05,03, în timp ce totalul arată 2:05,04. Cea mai rapidă și cea mai lentă tură se stabilesc după sutimile afișate. Dacă toate turele arată la fel, niciuna nu este marcată, iar dacă mai multe ture au timpul cel mai rapid sau cel mai lent, toate sunt marcate.
Ceasul care măsoară
Specificația W3C High Resolution Time descrie performance.now() ca pe un ceas monoton: nu merge niciodată înapoi, nu poate fi schimbat de reglajele ceasului de sistem, iar un browser care încetinește temporizatoarele dintr-o filă din fundal nu trebuie să-i afecteze precizia. Potrivit MDN, însă, el continuă să meargă cât calculatorul este în repaus doar în browserele de pe Windows. În Chrome, Firefox și Safari pe alte sisteme se oprește în timpul repausului, iar defectul este raportat la toate trei. Ceasul obișnuit al calculatorului, Date.now(), numără repausul, dar poate fi reglat, de exemplu când se sincronizează cu un server de timp.
De aceea cronometrul socotește fiecare pas dintre două citiri cu performance.now(), cu excepția cazului în care ceasul calculatorului a înaintat cu peste două secunde mai mult decât celălalt. Atunci ceasul de măsurare a stat pe loc cât calculatorul a dormit, iar pasul este luat de la ceasul calculatorului. Un ceas dat înapoi nu schimbă deci niciodată timpul, iar o noapte în repaus este numărată pe toate sistemele. În schimb, un ceas dat înainte cu peste două secunde în timpul măsurării este numărat ca timp scurs, pentru că din interiorul paginii nu se poate deosebi de repaus.
Comparat cu cronometrarea în concursuri
Regulile World Athletics rotunjesc în sens invers. La cronometrarea manuală pe pistă, un timp care nu este un număr întreg de zecimi este rotunjit în sus la următoarea zecime, așa că 10,11 secunde devin 10,2. Cu fotofinișul, timpii din cursele de până la 10.000 de metri inclusiv sunt rotunjiți în sus la următoarea sutime. Un timp de 65,437 secunde, pe care acest cronometru îl arată ca 1:05,43, ar fi deci înregistrat ca 1:05,44 cu fotofinișul și ca 1:05,5 manual. La cronometrarea manuală măsoară trei cronometrori, iar dacă toți trei diferă, timpul oficial este cel din mijloc.