ความหน่วงของคีย์บอร์ด: มาจากไหน และทดสอบกันอย่างไร

ความหน่วงของคีย์บอร์ด (keyboard latency) คือเวลาตั้งแต่นิ้วเริ่มกดปุ่มจนถึงตอนที่คีย์บอร์ดส่งการกดนั้นไปยังคอมพิวเตอร์ ความหน่วงนี้สะสมจากสี่จุด ได้แก่ ระยะกดของปุ่ม การสแกนปุ่มของคีย์บอร์ด ดีบาวซ์ (debounce) และ USB polling ไม่มีเว็บไซต์ไหนวัดค่านี้ได้ เพราะเบราว์เซอร์จะรู้ว่ามีการกดก็ต่อเมื่อคีย์บอร์ดส่งออกไปแล้ว ผู้ทดสอบใช้โซลินอยด์กดปุ่ม และใช้ USB analyzer บันทึกว่าการกดออกจากคีย์บอร์ดเมื่อไร ถ้าอยากลดความหน่วง ให้ใช้จุดทำงาน (actuation point) ที่ตื้นขึ้น polling rate สูงสุด และค่าดีบาวซ์ต่ำสุดที่ยังไม่ทำให้ปุ่มพิมพ์เบิ้ล

ทดสอบคีย์บอร์ด

การกดปุ่มต้องรอที่ไหนบ้างก่อนคอมพิวเตอร์จะได้รับ

  1. ระยะกดของปุ่มปุ่มเลื่อนลงไปจนถึงจุดที่สวิตช์ทำงาน
  2. การสแกนชิปของคีย์บอร์ดไล่ตรวจตารางปุ่มทีละแถว
  3. ดีบาวซ์รอให้หน้าสัมผัสของสวิตช์หยุดเด้ง หรือไม่สนใจการเด้งนั้น
  4. โพลลิง USBการกดต้องรอจนกว่าคอมพิวเตอร์จะถามคีย์บอร์ดหาข้อมูลใหม่ในรอบถัดไป

รวมกัน: ความหน่วงของคีย์บอร์ด

หน้าเว็บเริ่มจับเวลาได้ตั้งแต่ตรงนี้เท่านั้น

คอมพิวเตอร์และหน้าจอ เกมนำการกดไปใช้ วาดเฟรม และจอแสดงผลออกมา: ส่วนที่เหลือของอินพุตแล็ก

ผู้รีวิวที่วัดคีย์บอร์ดจะจับเวลาสี่ขั้นแรก ตั้งแต่จังหวะที่มีบางอย่างแตะปุ่มจนถึงตอนที่แพ็กเก็ต USB ออกจากคีย์บอร์ด

ความหน่วงมาจากไหน

Polling rate ในหน่วยมิลลิวินาที

เวลาระหว่างการโพลสองครั้งเท่ากับ 1,000 ms หารด้วย polling rate โดยเฉลี่ยแล้วการกดแต่ละครั้งต้องรอครึ่งหนึ่งของเวลานั้น

Polling rate ในหน่วยมิลลิวินาที
อัตราโพลลิงโพลทุกเวลารอเฉลี่ย
125 Hz8 ms4 ms
250 Hz4 ms2 ms
500 Hz2 ms1 ms
1000 Hz1 ms0.5 ms
8000 Hz0.125 ms0.0625 ms

การเปลี่ยนจาก 125 Hz เป็น 1,000 Hz ช่วยลดได้เฉลี่ย 3.5 ms แต่คีย์บอร์ดที่วัดจริงต่างกันมากกว่านั้นหลายเท่า ในปี 2017 Dan Luu วัดคีย์บอร์ด 21 รุ่นได้ 15 ถึง 60 ms และคีย์บอร์ดเกมมิ่งสองรุ่นในนั้นก็ไม่ได้เร็วกว่ารุ่นอื่น

การทดสอบความหน่วงของคีย์บอร์ดทำอย่างไร

ทำไมไม่มีเว็บไซต์ไหนทดสอบความหน่วงของคีย์บอร์ดได้

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

วิธีลดความหน่วงของคีย์บอร์ด

สวิตช์ Linear, Tactile และ Clicky ต่างกันอย่างไร พร้อมตัวเลขจุดทำงานและแรงกดจากผู้ผลิต: สวิตช์คีย์บอร์ด

ที่มา: Dan Luu (ภาษาอังกฤษ), ความหน่วงของคีย์บอร์ด; RTINGS (ภาษาอังกฤษ), วิธีทดสอบความหน่วงของคีย์บอร์ด; LTT Labs (ภาษาอังกฤษ), วิธีที่ Labs ทดสอบคีย์บอร์ด; QMK (ภาษาอังกฤษ), อัลกอริทึมดีบาวซ์; Wooting (ภาษาอังกฤษ), วิธีตั้งค่า Rapid Trigger; OSLTT (ภาษาอังกฤษ), เครื่องมือทดสอบความหน่วงแบบโอเพนซอร์ส