🔧Toolify

นาฬิกาจับเวลา (ความแม่นยำมิลลิวินาที

นาฬิกาจับเวลาในเบราว์เซอร์โดยใช้ performance.now() สำหรับการจับเวลาที่ปราศจาก jitter เริ่ม หยุดชั่วคราว ดำเนินการต่อ จับ lap และรีเซ็ต แต่ละ lap แสดงการแยก (เดลต้าจากครั้งก่อน) บวกเวลาสะสม

00:00:00.000

วิธีการทำงาน

ทำไมนาฬิกาจับเวลานี้แม่นยำ

นาฬิกาจับเวลาในเบราว์เซอร์ส่วนใหญ่ใช้ Date.now() และ setInterval ซึ่งสามารถเบี่ยงเบนได้หลายสิบมิลลิวินาทีระหว่างเซสชัน การใช้งานนี้ใช้ performance.now() — นาฬิกา monotonic ที่ไม่กระโดดถอยหลังเมื่อปรับนาฬิการะบบ รวมกับ requestAnimationFrame สำหรับการอัปเดตการแสดงผล ความแม่นยำอยู่ภายใน ±1 ms

หากคุณสลับแท็บ เวลาที่แสดงอาจแข็งตัวเล็กน้อยเพราะเบราว์เซอร์จำกัดงานเบื้องหลัง นาฬิกาภายในยังคงทำงานต่อไปอย่างถูกต้อง — เมื่อคุณสลับกลับ การแสดงผลจะตามเวลาที่ผ่านไปจริง

เวลา lap และเวลาแยก

เมื่อคุณกด Lap เวลาสะสมปัจจุบันจะถูกบันทึก การแยกที่แสดงคือเดลต้าจาก lap ก่อนหน้า: ในการวิ่ง 5×400m แต่ละการแยกคือเวลาช่วง 400m ในขณะที่สะสมคือเวลาทั้งหมดตั้งแต่เริ่ม

ผู้ใช้รายการ lap ส่วนใหญ่สนใจการแยก ไม่ใช่สะสม เราแสดงทั้งคู่ สะสมยังทำให้ง่ายต่อการระบุช่วงเดี่ยวที่ดีที่สุด — มีประโยชน์สำหรับนักกีฬาที่ติดตามความสม่ำเสมอของช่วง

การใช้งานทั่วไป

กีฬา: ติดตามเวลา lap สำหรับการวิ่ง การว่ายน้ำ ช่วงปั่นจักรยาน เล็กกว่าดีกว่า ความสม่ำเสมอระหว่างการแยกเป็นสัญญาณของการตั้งวิ่งที่ดี

การทำอาหาร: จับเวลาหลายขั้นตอนพร้อมกันโดยใช้ lap เป็น 'จุดตรวจ' (เพิ่มส่วนผสม เริ่มพักแป้ง ฯลฯ)

การเรียน/งาน: timeboxing เซสชันงานที่มุ่งเน้น จับคู่กับตัวจับเวลา Pomodoro ของเราสำหรับการพักที่มีโครงสร้าง

การจับเวลากระบวนการ: วัดระยะเวลาของงานใดๆ — การสร้างซอฟต์แวร์ การป้อนข้อมูลด้วยตนเอง การแก้ไขการสนับสนุนลูกค้า ใช้รายการ lap ที่เป็นมิตรกับการส่งออกสำหรับการตรวจสอบในภายหลัง

คำถามที่พบบ่อย

ตัวจับเวลายังคงทำงานหากฉันปิดแท็บหรือไม่?

ไม่ — การปิดแท็บล้างสถานะในหน่วยความจำ เพื่อรักษาเซสชันการจับเวลายาว ให้ถ่ายภาพหน้าจอของการแสดงผลที่กำลังทำงานหรือคัดลอกรายการ lap ก่อนปิด

ความแม่นยำมิลลิวินาทีในทางปฏิบัติเป็นอย่างไร?

ความละเอียดของ performance.now() ขึ้นอยู่กับเบราว์เซอร์: เบราว์เซอร์ส่วนใหญ่จำกัดที่ 1ms หรือ 0.1ms ด้วยเหตุผลด้านความปลอดภัย (การบรรเทาการโจมตีการจับเวลา) เพียงพอสำหรับการจับเวลาในระดับมนุษย์ — แม่นยำกว่าเวลาตอบสนองของมนุษย์ (~250ms) มาก

ทำไมการแสดงผลอัปเดตที่ 60fps แต่แสดงมิลลิวินาที?

นาฬิกาภายในแม่นยำ การแสดงผลถูกเรนเดอร์ ~60 ครั้งต่อวินาทีดังนั้นคุณเห็นฟิลด์มิลลิวินาทีอัปเดตอย่างราบรื่น แต่ละเฟรมคำนวณค่าที่ผ่านไปล่าสุดจาก performance.now()

ฉันสามารถบันทึกเซสชัน lap ได้หรือไม่?

ไม่โดยตรง — คัดลอกรายการ lap ด้วยตนเอง การบันทึกเซสชันไปยังที่จัดเก็บในเครื่องอยู่ใน roadmap

ความแตกต่างระหว่างนี้และนาฬิกาจับเวลาโทรศัพท์คืออะไร?

อยู่ในเบราว์เซอร์ ไม่ต้องติดตั้งแอป แม่นยำเท่ากันสำหรับการจับเวลาในระดับมนุษย์ นาฬิกาจับเวลาโทรศัพท์อยู่รอดจากการล็อคหน้าจอ แท็บเบราว์เซอร์ต้องเปิดอยู่ (แต่ไม่ต้องการโฟกัส)

ข้อมูลถูกส่งไปที่ใด?

ไม่ ทุกอย่างทำงานในเครื่อง ไม่มี laps หรือเวลาใดๆ ถูกส่ง

ทำไม lap ของฉันแสดง 0 มิลลิวินาที?

ถ้าคุณกด Lap ทันทีหลังจากเริ่ม เวลาที่ผ่านไปอาจปัดลงเป็น 0 ด้วยความแม่นยำของการแสดงผล รันอย่างน้อยเศษเสี้ยววินาทีระหว่าง laps

วัดเหตุการณ์ย่อยวินาทีได้หรือไม่?

ได้ ลงไปถึง ~1ms สำหรับการจับเวลานาโนวินาที (การ benchmark ชิป) คุณต้องการเครื่องมือที่แตกต่างกัน แต่สำหรับเหตุการณ์ที่มนุษย์สังเกตได้นี่แม่นยำพอ

เครื่องมือที่เกี่ยวข้อง

อัปเดตล่าสุด:

ลองพรอมต์ AI ของเรา →