Γιατί τα χρονόμετρα του browser αργούν και πώς ένα online χρονόμετρο μένει ακριβές
Ένα χρονόμετρο του browser μένει ακριβές όταν διαβάζει το ρολόι, και όχι όταν μετράει τικ. Αποθηκεύστε την ώρα λήξης όταν ξεκινά το χρονόμετρο και στη συνέχεια αφαιρείτε την τρέχουσα ώρα κάθε φορά που ανανεώνεται η οθόνη. Τα τικ μπορεί να φτάνουν με καθυστέρηση ή να επιβραδύνονται σε καρτέλα στο παρασκήνιο, όμως η αφαίρεση είναι σωστή τη στιγμή που η σελίδα τη ελέγχει.
Online χρονόμετροΧρειάζεστε χρονόμετρο ή κρονόμετρο;Κάντε το δωρεάνΓιατί το μέτρημα τικ οδηγεί σε απόκλιση
Ένας συνηθισμένος τρόπος για να γράψετε χρονόμετρο είναι να αφαιρείτε ένα από έναν μετρητή κάθε δευτερόλεπτο. Ο browser εκτελεί αυτό το βήμα με ένα επαναλαμβανόμενο χρονικό διάστημα, το οποίο ζητά να εκτελεστεί μια συνάρτηση κάθε τόσα χιλιοστά του δευτερολέπτου. Ο browser δεν εγγυάται ακριβή χρονισμό. Μια απασχολημένη σελίδα, μια αργή συσκευή ή μια κρυφή καρτέλα μπορεί να καθυστερήσει κάθε τικ, και οι καθυστερήσεις προστίθενται. Ένας μετρητής που χάνει λίγα χιλιοστά ανά τικ είναι εμφανώς λάθος μετά από λίγα λεπτά.
Τι κάνουν οι κρυφές καρτέλες
Οι browsers επιβραδύνουν τα χρονόμετρα σε καρτέλες που δεν βλέπετε. Έτσι εξοικονομούν μπαταρία και χρόνο επεξεργαστή. Ο Chrome, για παράδειγμα, περιορίζει πόσο συχνά τρέχουν τα επαναλαμβανόμενα χρονόμετρα σε κρυφή καρτέλα, και αφού μια καρτέλα μείνει κρυφή για πολλή ώρα, αυτά τα χρονόμετρα μπορεί να τρέχουν πολύ πιο σπάνια. Ένας μετρητής σε τέτοια καρτέλα μένει πίσω, γι' αυτό ένας αντίστροφος μετρητής που μετράει τικ μπορεί να τελειώσει με καθυστέρηση.
Διαβάζοντας το ρολόι αντί για τα τικ
Η λύση είναι να καταγράφετε πότε ξεκίνησε το χρονόμετρο και πότε πρέπει να λήξει. Ο browser παρέχει ένα ρολόι υψηλής ανάλυσης, το performance.now(), που προορίζεται για τη μέτρηση χρονικών διαστημάτων. Όταν ανανεώνεται η οθόνη, το χρονόμετρο υπολογίζει τον χρόνο που απομένει ως ώρα λήξης μείον την τρέχουσα ώρα. Μια καθυστερημένη ανανέωση δείχνει για λίγο έναν ελαφρώς παλιό αριθμό, όμως η επόμενη ανανέωση τον διορθώνει, επειδή ο υπολογισμός δεν εξαρτάται από το πόσα τικ έχουν τρέξει. Το online χρονόμετρο αυτού του ιστότοπου λειτουργεί με αυτόν τον τρόπο.
Η παύση αποθηκεύει τον χρόνο που απομένει. Η συνέχιση ορίζει νέα ώρα λήξης ίση με την τρέχουσα ώρα συν τον χρόνο που απομένει, οπότε η παύση δεν επηρεάζει το μέτρημα.
Η σελίδα ορίζει επίσης ένα χρονόμετρο για τη στιγμή που πρέπει να λήξει η αντίστροφη μέτρηση. Έτσι η ειδοποίηση δεν περιμένει την επόμενη ανανέωση της οθόνης, ακόμη κι αν εκείνη καθυστερεί.
Γιατί η οθόνη στρογγυλοποιεί προς τα πάνω
Μια αντίστροφη μέτρηση δείχνει τον χρόνο που απομένει στρογγυλοποιημένο προς το αμέσως επόμενο ακέραιο δευτερόλεπτο. Ένα χρονόμετρο τριών δευτερολέπτων δείχνει 00:03 στην αρχή, 00:02 και 00:01 καθώς τρέχει, και 00:00 όταν τελειώνει. Αν στρογγυλοποιούσε προς τα κάτω, θα έδειχνε 00:00 για το τελευταίο δευτερόλεπτο, κάτι που φαίνεται σαν να έχει τελειώσει ένα δευτερόλεπτο νωρίτερα. Ένα χρονόμετρο κουζίνας λειτουργεί με τον ίδιο τρόπο.
Ήχος και οθόνη
Ο τόνος παράγεται από το σύστημα ήχου του browser, οπότε δεν κατεβαίνει κανένα αρχείο ήχου. Οι browsers επιτρέπουν τον ήχο μόνο μετά από ενέργεια του χρήστη στη σελίδα, γι' αυτό ο ήχος προετοιμάζεται όταν πατάτε Start. Οι ρυθμίσεις έντασης και σίγασης της συσκευής σας εξακολουθούν να ισχύουν.
Το κλείδωμα της οθόνης είναι προαιρετικό. Όπου το υποστηρίζει ο browser, η σελίδα μπορεί να ζητήσει από τη συσκευή να κρατά την οθόνη αναμμένη όσο τρέχει το χρονόμετρο. Ο browser απελευθερώνει το κλείδωμα όταν η καρτέλα κρύβεται, οπότε η σελίδα το ζητά ξανά όταν επιστρέψετε.
Τι μετρά ένας γύρος χρονομέτρησης
Ένα χρονόμετρο προσθέτει τα διαστήματα κατά τα οποία έτρεχε, και η παύση σταματά αυτό το άθροισμα. Το σύνολο είναι ο χρόνος από την εκκίνηση, και ένας γύρος είναι η μεταβολή του συνόλου από τον προηγούμενο γύρο. Ο χρόνος του γύρου 1 ισούται με το πρώτο σύνολο. Ο χρόνος του γύρου 2 ισούται με το δεύτερο σύνολο μείον το πρώτο. Η οθόνη δείχνει εκατοστά του δευτερολέπτου, όμως η ακρίβεια της μέτρησης περιορίζεται από τη συσκευή και τον browser, οπότε αντιμετωπίστε το τελευταίο ψηφίο ως κατά προσέγγιση. Για ώρες βάρδιας αντί για χρονόμετρο, ο υπολογιστής ωρών κάνει τις πράξεις από ώρες του ρολογιού, όπως εξηγείται στο ώρες εργασίας για νυχτερινές βάρδιες.
Πρακτικοί έλεγχοι
- Δοκιμάστε ένα σύντομο χρονόμετρο με ρολόι χειρός πριν βασιστείτε σε αυτό για μαγείρεμα ή προπόνηση. Ένα τεστ 30 δευτερολέπτων αρκεί για να δείτε πώς συμπεριφέρεται η συσκευή.
- Κρατήστε την ένταση ανεβασμένη και ελέγξτε ότι η συσκευή δεν είναι σε σίγαση.
- Ένα χρονόμετρο διατηρεί σωστό χρόνο όσο η καρτέλα του είναι κρυφή, όμως το κλείσιμο της καρτέλας ή η ανανέωση της σελίδας το μηδενίζει.
- Αν ένας φορητός υπολογιστής μπει σε αναστολή λειτουργίας κατά τη διάρκεια μιας αντίστροφης μέτρησης, ελέγξτε τον χρόνο που απομένει όταν ξυπνήσει, επειδή η συμπεριφορά κατά την αναστολή εξαρτάται από τη συσκευή και τον browser.
Πώς να το κάνετε με το fixmint
- Επιλέξτε Timer, και στη συνέχεια πατήστε μια προεπιλογή όπως 5 min, ή πληκτρολογήστε Hours, Minutes και Seconds.
- Πατήστε Start. Μπορείτε να αλλάξετε καρτέλα και ο χρόνος παραμένει σωστός. Η ανανέωση της σελίδας μηδενίζει το χρονόμετρο.
- Επιλέξτε Keep the screen on while it runs αν σας το προσφέρει ο browser σας.
- Για γύρους, επιλέξτε Stopwatch, πατήστε Start και μετά Lap για κάθε διάστημα.
- Κάντε ένα τεστ 30 δευτερολέπτων με ρολόι χειρός πριν βασιστείτε στο χρονόμετρο για μαγείρεμα ή προπόνηση.
Ειδικές περιπτώσεις
- Αλλαγές ώρας. Η αντίστροφη μέτρηση μετράει τον χρόνο που πέρασε, όχι το ρολόι τοίχου, οπότε οι αλλαγές θερινής ώρας δεν την επηρεάζουν.
- Μακρά χρονόμετρα. Ένα χρονόμετρο για αρκετές ώρες παραμένει ακριβές, αλλά ελέγξτε ότι η συσκευή δεν μπήκε σε αναστολή λειτουργίας στο μεταξύ.
- Περισσότερα από ένα χρονόμετρα. Κάθε χρονόμετρο κρατά τη δική του ώρα λήξης, οπότε δύο χρονόμετρα σε δύο καρτέλες δεν παρεμβάλλονται το ένα στο άλλο.
Γρήγορες απαντήσεις
Γιατί ένα χρονόμετρο καθυστερεί σε καρτέλα στο παρασκήνιο; Οι browsers επιβραδύνουν τα επαναλαμβανόμενα χρονόμετρα σε κρυφές καρτέλες, οπότε ένα χρονόμετρο που μετράει τικ μένει πίσω. Ένα χρονόμετρο που διαβάζει το ρολόι δεν μένει πίσω.
Θα είναι σωστό το χρονόμετρο όταν επιστρέψω στην καρτέλα; Ναι. Δείχνει τον χρόνο που απομένει από την αποθηκευμένη ώρα λήξης.
Ποια είναι η διαφορά ενός γύρου και ενός συνόλου; Ένας γύρος είναι ο χρόνος από τον προηγούμενο γύρο. Το σύνολο είναι ο χρόνος από την εκκίνηση του χρονομέτρου.
Μετάφραση από το Αγγλικό πρωτότυπο με τη βοήθεια τεχνητής νοημοσύνης.
Σχόλια
Δεν υπάρχουν σχόλια ακόμη. Γίνετε οι πρώτοι.


