Kronometre (milisaniye hassasiyeti, tur süreleri)
Titreşimsiz zamanlama için performance.now() kullanan tarayıcı tabanlı kronometre. Başlatın, duraklatın, devam ettirin, turları kaydedin ve sıfırlayın. Her tur, önceki turdan fark (delta) ve toplam geçen süreyi gösterir.
Nasıl çalışır
Bu kronometre neden doğru
Çoğu tarayıcı kronometresi, bir oturum boyunca onlarca milisaniye kayabilen Date.now() ve setInterval kullanır. Bu uygulama performance.now() kullanır — sistem saati ayarlandığında geriye atlayan monoton bir saat. Görüntü güncellemeleri için requestAnimationFrame ile birleştirildiğinde doğruluk ±1 ms içinde kalır.
Sekme değiştirirseniz, tarayıcılar arka planda çalışmayı kısıtladığından görüntülenen süre kısa süre donabilir. İç saat doğru çalışmaya devam eder — geri döndüğünüzde görüntü gerçek geçen süreye yetişir.
Tur süreleri ve bölme süreleri
Tur'a bastığınızda geçerli toplam süre kaydedilir. Gösterilen bölme, önceki turdan deltadır: 5×400m koşusunda her bölme bir 400m segmentin süresidir, toplam ise başlangıçtan itibaren geçen toplam süredir.
Çoğu tur listesi kullanıcısı toplam değil bölmelerle ilgilenir. Her ikisini de gösteriyoruz. Toplam aynı zamanda en iyi bireysel segmenti belirlemeyi kolaylaştırır — interval tutarlılığını takip eden sporcular için kullanışlıdır.
Yaygın kullanımlar
Spor: koşu, yüzme, bisiklet intervalleri için tur sürelerini takip edin. Daha küçük iyidir; bölmeler arasındaki tutarlılık iyi tempo tuttuğunun işaretidir.
Pişirme: turları 'kontrol noktaları' (karışım eklendi, hamur istirahate bırakıldı vb.) olarak kullanarak birden fazla adımı aynı anda zamanlayın.
Çalışma/ders: odaklanmış çalışma oturumlarını zaman kutulara ayırın. Yapılandırılmış molalar için Pomodoro zamanlayıcımızla birleştirin.
Süreç zamanlaması: herhangi bir görevin süresini ölçün — yazılım derlemeleri, manuel veri girişi, müşteri destek çözümü. Daha sonra incelemek için dışa aktarma dostu tur listesini kullanın.
Sık sorulan sorular
›Sekmeyi kapatsam zamanlayıcı çalışmaya devam eder mi?
Hayır — sekmeyi kapatmak bellek içi durumu temizler. Uzun bir zamanlama oturumunu korumak için kapatmadan önce çalışan ekranın ekran görüntüsünü alın veya tur listesini kopyalayın.
›Milisaniye hassasiyeti pratikte ne kadar doğrudur?
performance.now() çözünürlüğü tarayıcıya bağlıdır: çoğu tarayıcı güvenlik nedeniyle (zamanlama saldırısı önleme) 1ms veya 0,1ms ile sınırlandırır. Bu, insan ölçeğinde zamanlama için yeterlidir — insan tepki süresinden (~250ms) çok daha doğru.
›Görüntü 60fps'de güncellendiği halde neden milisaniyeler gösteriliyor?
İç saat hassastır; görüntü saniyede ~60 kez işlenir, dolayısıyla düzgün güncelleyen milisaniye alanı görürsünüz. Her kare, performance.now()'dan en son geçen değeri hesaplar.
›Tur oturumunu kaydedebilir miyim?
Doğrudan değil — tur listesini manuel kopyalayın. Yerel depolama oturumlarını kaydetme yol haritasındadır.
›Bu telefon kronometresiyle arasındaki fark nedir?
Tarayıcı tabanlı, uygulama yüklemesi gerekmiyor. İnsan ölçeğinde zamanlama için eşit derecede doğru. Telefon kronometresi ekran kilitlemesinden kurtulur; tarayıcı sekmesinin açık kalması gerekir (ancak odaklanması gerekmez).
›Veriler bir yere gönderiliyor mu?
Hayır. Her şey yerel olarak çalışır; tur veya süre iletilmez.
›Turum neden 0 milisaniye gösteriyor?
Başlat'tan hemen sonra Tur'a basarsanız geçen süre görüntü hassasiyetiyle 0'a yuvarlanabilir. Turlar arasında en az saniyenin bir bölümü kadar çalıştırın.
›Bu saniyenin altındaki olayları ölçebilir mi?
Evet, ~1ms'ye kadar. Nanosaniye zamanlaması için farklı araçlar gerekir, ancak insan tarafından gözlemlenebilir herhangi bir olay için bu yeterince hassastır.
İlgili araçlar
Son güncelleme: