ทำไมนาฬิกาในเบราว์เซอร์จึงคลาดเคลื่อน และการจับเวลาถอยหลังออนไลน์ทำให้แม่นยำได้อย่างไร
นาฬิกาจับเวลาในเบราว์เซอร์จะแม่นยำเมื่ออ่านค่าจากนาฬิกาจริง ไม่ใช่เมื่อนับจำนวนรอบ เก็บเวลาที่จะสิ้นสุดไว้ตอนเริ่มจับเวลา แล้วลบด้วยเวลาปัจจุบันทุกครั้งที่หน้าจอมีการอัปเดต รอบอาจมาช้า หรือถูกทำให้ช้าลงในแท็บเบื้องหลัง แต่การลบนั้นยังถูกต้องทุกครั้งที่หน้าเว็บตรวจสอบ
จับเวลาออนไลน์ต้องการตัวจับเวลาหรือสต็อปวอทช์?ใช้ฟรีทำไมการนับรอบจึงคลาดเคลื่อน
วิธีทั่วไปในการเขียนตัวจับเวลาคือการลดค่าตัวนับลงหนึ่งทุกวินาที เบราว์เซอร์ทำขั้นตอนนี้ด้วยตัวจับเวลาที่ทำซ้ำ ซึ่งขอให้รันฟังก์ชันทุกๆ จำนวนมิลลิวินาทีที่กำหนด แต่เบราว์เซอร์ไม่ได้รับประกันว่าจะจับเวลาได้แม่นยำตรงเป๊ะ หน้าเว็บที่กำลังทำงานหนัก อุปกรณ์ที่ช้า หรือแท็บที่ซ่อนอยู่ อาจทำให้แต่ละรอบล่าช้า และความล่าช้าเหล่านี้จะสะสมกัน ตัวนับที่คลาดไปไม่กี่มิลลิวินาทีต่อรอบ จะผิดให้เห็นได้ชัดหลังผ่านไปไม่กี่นาที
แท็บที่ซ่อนอยู่ทำอะไร
เบราว์เซอร์จะทำให้ตัวจับเวลาในแท็บที่คุณไม่ได้มองอยู่ทำงานช้าลง เพื่อประหยัดแบตเตอรี่และการใช้โปรเซสเซอร์ ตัวอย่างเช่น Chrome จำกัดความถี่ที่ตัวจับเวลาที่ทำซ้ำจะทำงานในแท็บที่ซ่อน และหลังจากที่แท็บถูกซ่อนไว้นาน ตัวจับเวลาเหล่านั้นอาจทำงานน้อยลงมาก ตัวนับในแท็บแบบนี้จะตามหลัง จึงเป็นเหตุผลที่การจับเวลาถอยหลังแบบนับรอบอาจจบช้ากว่ากำหนด
อ่านค่าจากนาฬิกาแทน
วิธีแก้คือบันทึกว่าการจับเวลาเริ่มเมื่อใด และควรสิ้นสุดเมื่อใด เบราว์เซอร์มี performance.now() ซึ่งเป็นนาฬิกาความละเอียดสูงที่ออกแบบมาสำหรับการวัดช่วงเวลา เมื่อหน้าจอมีการอัปเดต ตัวจับเวลาจะคำนวณเวลาที่เหลือจากเวลาที่สิ้นสุดลบด้วยเวลาปัจจุบัน การอัปเดตที่ล่าช้าจะแสดงตัวเลขที่ค้างอยู่เล็กน้อยชั่วขณะ แต่การอัปเดตครั้งถัดไปจะแก้ให้ถูกต้อง เพราะการคำนวณนี้ไม่ได้ขึ้นกับจำนวนรอบที่ทำงานไป ตัวจับเวลาออนไลน์ บนเว็บไซต์นี้ทำงานด้วยวิธีนี้
การหยุดชั่วคราวจะเก็บเวลาที่เหลือไว้ เมื่อกลับมาเริ่มต่อ ระบบจะตั้งเวลาสิ้นสุดใหม่เป็นเวลาปัจจุบันบวกเวลาที่เหลือ ดังนั้นการหยุดชั่วคราวจึงไม่ไปรบกวนการนับ
หน้าเว็บยังตั้งตัวจับเวลาอีกตัวไว้สำหรับเวลาที่การจับเวลาถอยหลังควรสิ้นสุด การแจ้งเตือนจึงไม่ต้องรอการอัปเดตหน้าจอครั้งถัดไป แม้การแสดงผลจะล่าช้าก็ตาม
ทำไมการแสดงผลจึงปัดขึ้น
การจับเวลาถอยหลังจะแสดงเวลาที่เหลือโดยปัดขึ้นเป็นวินาทีเต็มถัดไป ตัวจับเวลาสามวินาทีจะแสดง 00:03 ตอนเริ่ม แล้วเป็น 00:02 และ 00:01 ขณะทำงาน และเป็น 00:00 เมื่อจบ ถ้าปัดลง จะแสดง 00:00 ตั้งแต่วินาทีสุดท้าย ซึ่งจะรู้สึกว่าเร็วไปหนึ่งวินาที นาฬิกาจับเวลาในครัวก็แสดงผลในลักษณะเดียวกัน
เสียงและหน้าจอ
เสียงเตือนถูกสร้างขึ้นโดยระบบเสียงของเบราว์เซอร์ จึงไม่มีการดาวน์โหลดไฟล์เสียง เบราว์เซอร์จะอนุญาตให้มีเสียงก็ต่อเมื่อผู้ใช้มีการกระทำบนหน้าเว็บก่อน ดังนั้นระบบจะเตรียมเสียงไว้ตอนที่คุณกดเริ่ม ระดับเสียงและการปิดเสียงของอุปกรณ์ยังคงมีผลเช่นเดิม
การล็อกหน้าจอให้ค้างไว้เป็นตัวเลือกเสริม หากเบราว์เซอร์รองรับ หน้าเว็บสามารถขอให้อุปกรณ์เปิดหน้าจอค้างไว้ขณะจับเวลาได้ เบราว์เซอร์จะปลดการล็อกเมื่อแท็บถูกซ่อน หน้าเว็บจึงจะขอใหม่เมื่อคุณกลับมา
รอบของนาฬิกาจับเวลาวัดอะไร
นาฬิกาจับเวลาจะรวมช่วงเวลาที่มันทำงานอยู่เข้าด้วยกัน และการหยุดชั่วคราวจะหยุดการรวมนี้ ยอดรวมคือเวลานับจากจุดเริ่มต้น ส่วนรอบคือการเปลี่ยนแปลงของยอดรวมนับจากรอบก่อนหน้า เวลารอบที่ 1 เท่ากับยอดรวมแรก เวลารอบที่ 2 เท่ากับยอดรวมที่สองลบด้วยยอดรวมแรก หน้าจอแสดงเป็นส่วนร้อยของวินาที แต่ความแม่นยำของการจับเวลาถูกจำกัดโดยอุปกรณ์และเบราว์เซอร์ ดังนั้นควรถือว่าหลักสุดท้ายเป็นค่าโดยประมาณ สำหรับการคำนวณเวลาทำงานตามกะแทนที่จะใช้นาฬิกาจับเวลา เครื่องคิดชั่วโมงทำงาน จะคำนวณจากเวลาบนนาฬิกาให้ ดังที่กล่าวถึงใน ชั่วโมงทำงานของกะดึก
การตรวจสอบที่ควรทำ
- ทดสอบตัวจับเวลาสั้นๆ กับนาฬิกาข้อมือก่อนนำไปใช้ทำอาหารหรือออกกำลังกาย การทดสอบ 30 วินาทีก็เพียงพอที่จะดูว่าอุปกรณ์ทำงานถูกต้องหรือไม่
- เปิดเสียงให้ดัง และตรวจสอบว่าอุปกรณ์ไม่ได้อยู่ในโหมดเงียบ
- ตัวจับเวลาจะยังจับเวลาได้ถูกต้องขณะแท็บถูกซ่อน แต่การปิดแท็บหรือโหลดหน้าเว็บใหม่จะรีเซ็ตตัวจับเวลา
- หากแล็ปท็อปเข้าสู่โหมดสลีประหว่างการจับเวลาถอยหลัง ให้ตรวจสอบเวลาที่เหลือเมื่อปลุกเครื่องขึ้นมา เพราะพฤติกรรมขณะสลีปขึ้นกับอุปกรณ์และเบราว์เซอร์
วิธีใช้งานกับ fixmint
- เลือก ตัวจับเวลา แล้วกดค่าที่ตั้งไว้ล่วงหน้า เช่น 5 นาที หรือพิมพ์ค่าใน ชั่วโมง, นาที และ วินาที
- กด เริ่ม คุณสลับแท็บได้ และเวลาจะยังถูกต้อง การโหลดหน้าใหม่จะรีเซ็ตตัวจับเวลา
- ติ๊ก เปิดหน้าจอค้างไว้ขณะทำงาน หากเบราว์เซอร์ของคุณมีตัวเลือกนี้
- สำหรับรอบ ให้เลือก นาฬิกาจับเวลา กด เริ่ม แล้วกด รอบ ทุกครั้งที่ต้องการแบ่งช่วงเวลา
- ทดสอบการจับเวลา 30 วินาทีกับนาฬิกาข้อมือก่อนจะนำตัวจับเวลาไปใช้ทำอาหารหรือออกกำลังกาย
กรณีพิเศษ
- การเปลี่ยนเวลา การจับเวลาถอยหลังวัดเวลาที่ผ่านไป ไม่ใช่เวลาบนนาฬิกาติดผนัง ดังนั้นการเปลี่ยนเวลาออมแสงจึงไม่มีผลต่อการจับเวลา
- ตัวจับเวลาที่ยาวนาน ตัวจับเวลาที่ตั้งไว้หลายชั่วโมงยังคงแม่นยำ แต่ควรตรวจสอบว่าอุปกรณ์ไม่ได้เข้าสู่โหมดสลีปในระหว่างนั้น
- ตัวจับเวลาหลายตัว ตัวจับเวลาแต่ละตัวมีเวลาสิ้นสุดของตัวเอง ดังนั้นตัวจับเวลาสองตัวในสองแท็บจะไม่รบกวนกัน
คำตอบสั้นๆ
ทำไมตัวจับเวลาจึงช้าลงในแท็บเบื้องหลัง เบราว์เซอร์จะทำให้ตัวจับเวลาที่ทำซ้ำในแท็บที่ซ่อนอยู่ทำงานช้าลง ตัวจับเวลาที่นับรอบจึงตามหลัง ส่วนตัวจับเวลาที่อ่านค่าจากนาฬิกาจะไม่เป็นเช่นนั้น
เมื่อกลับมาที่แท็บ ตัวจับเวลาจะยังถูกต้องหรือไม่ ถูกต้อง ตัวจับเวลาจะแสดงเวลาที่เหลือจากเวลาสิ้นสุดที่บันทึกไว้
รอบกับยอดรวมต่างกันอย่างไร รอบคือเวลาที่ผ่านไปนับจากรอบก่อนหน้า ส่วนยอดรวมคือเวลาที่ผ่านไปนับจากที่นาฬิกาจับเวลาเริ่มทำงาน
แปลจาก ฉบับภาษาอังกฤษ ด้วยความช่วยเหลือของ AI
ความคิดเห็น
ยังไม่มีความคิดเห็น มาเป็นคนแรกกันเลย


