Refresh Rate Tester: เช็ก Hz จริงของจอในเบราว์เซอร์
วัดอัตรารีเฟรชของจอออนไลน์ด้วย frame timing ของ requestAnimationFrame ดูว่าจอรัน 60, 120, 144 หรือ 240 Hz จริงไหม — ไม่ต้องติดตั้งโปรแกรม
Table of Contents
จอที่โฆษณาว่า 144 Hz หรือ 240 Hz ก็ควรรีเฟรชตามตัวเลขที่ติดกล่องจริง ๆ แต่ความจริงที่น่าประหลาดใจคือจอจำนวนมากไม่เคยได้รันที่ความเร็วสูงสุดของตัวเองเลย เพราะระบบปฏิบัติการ สายที่ใช้ต่อ หรือดริเวอร์ GPU อาจล็อกค่าไว้ที่ 60 Hz ตั้งแต่วันแรกที่ต่อ แล้วเราก็ใช้งานไปเป็นเดือนโดยจ่ายเงินค่าจอ high refresh rate แต่ได้ความลื่นแค่ครึ่งเดียว โดยที่ไม่มีอะไรบอกเราเลย เพราะตาเราปรับตัวเร็วมาก
Refresh Rate Tester ถูกสร้างมาเพื่อตอบคำถามนี้แบบตรง ๆ — เปิด Refresh Rate Tester กดปุ่มวัด รอ 2 วินาที แล้วมันจะอ่าน frame timing จริงจาก requestAnimationFrame ของ browser แปลงเป็นค่า Hz แล้วสรุปให้ว่าจอของคุณกำลังรีเฟรชที่ประมาณกี่ พร้อม snap เข้ากับอัตรามาตรฐานอย่าง 60, 120, 144 หรือ 240 Hz ให้อัตโนมัติ ทุกอย่างทำงานใน browser 100% ไม่ต้องติดตั้งโปรแกรม ไม่ต้องจ่ายเงิน
บทความนี้จะพาไปดูว่าตัววัดทำงานอย่างไร ทำไมค่าที่ได้เชื่อถือได้แม้วัดผ่าน browser และเอาไปใช้ตรวจจอ แก้ปัญหา และเทียบจอได้ในสถานการณ์ไหนบ้าง
ทำไมต้องใช้ Refresh Rate Tester?
- ยืนยันว่าจอรันตาม Hz ที่โฆษณาจริง — ใบ spec บอกว่า 165 Hz แต่ใครจะไปรู้ว่าตอนนี้รันจริงที่เท่าไหร่ การวัดด้วย frame timing คือหลักฐานที่ตรงไปตรงมาที่สุด
- Windows และ macOS มัก default จอใหม่เป็น 60 Hz — เป็นเรื่องปกติมากที่จอ 144 Hz เพิ่งซื้อมาถูกตั้งค่าค้างที่ 60 Hz โดยที่เจ้าของไม่เคยรู้ตัวเลย
- ใช้เช็กหลังเปลี่ยนตั้งค่า สาย หรือดริเวอร์ GPU — ทุกครั้งที่สลับสาย HDMI/DisplayPort อัปเดตดริเวอร์ หรือเปลี่ยน adapter ความสามารถของสัญญาณอาจเปลี่ยน ต้องวัดยืนยันทุกรอบ
- แยกปัญหาจอออกจากปัญหา GPU — ความลื่นขึ้นกับทั้ง fps ที่ GPU ส่งได้และ Hz ที่จอรับได้ การรู้ค่า refresh rate จริงช่วยให้รู้ว่าปัญหาอยู่ฝั่งไหน
- ไม่ต้องติดตั้งอะไรเลย — โปรแกรม benchmark ส่วนใหญ่ต้องดาวน์โหลดและติดตั้ง แต่ tool นี้ทำงานฝั่ง client ทั้งหมดใน browser
- ได้ผลลัพธ์ใน 2 วินาที — การรอสั้นแบบนี้ทำให้วัดซ้ำได้บ่อย ลองหลายการตั้งค่าได้ภายในนาทีเดียว
ฟีเจอร์หลัก
| ฟีเจอร์ | ทำอะไร |
|---|---|
| วัด frame timing ด้วย requestAnimationFrame | เก็บช่วงเวลาระหว่างเฟรมจริงจาก browser นาน 2 วินาที |
| คำนวณค่ามัธยฐาน (median) | หาค่ากลางของช่วงเวลาต่อเฟรมแล้วแปลงเป็น Hz แบบทนทานต่อค่าผิดปกติ |
| Snap เข้าอัตรามาตรฐาน | จับคู่ค่าที่วัดได้กับอัตรามาตรฐาน 24 ถึง 360 Hz ด้วย tolerance 6% |
| แสดงทั้ง Hz ดิบและค่า snap แล้ว | เห็นพร้อมกันว่าวัดจริงได้ 143.7 Hz และค่าที่ตรงกับจริงคือ 144 Hz |
| ทำงานฝั่ง client ทั้งหมด | ไม่มีข้อมูลใดส่งออกนอกเครื่อง ไม่ต้องสมัครสมาชิก |
จุดที่ควรสังเกตเพิ่มเติม:
- ตัววัดใช้ API มาตรฐานของ browser เท่านั้น ไม่ต้องขอ permission พิเศษ ไม่เข้าถึงข้อมูลฮาร์ดแวร์ใด ๆ ค่า Hz ทั้งหมดมาจากการนับเวลาเฟรมจริงที่เกิดขึ้นหน้าจอ
- ชุดอัตรามาตรฐานที่ snap ได้ครอบคลุมทั้งจอภาพยนตร์ (24 Hz) ทีวี (50 Hz) จอทั่วไป (60, 75 Hz) จอเกมมิ่ง (120, 144, 165, 240 Hz) ไปจนถึงจอเรือธงรุ่นล่าสุดที่ทำได้ 360 Hz
- การแสดงทั้งค่าดิบและค่า snap ทำให้แยกออกได้ว่าจอรันผิดโหมดจริง ๆ หรือแค่มีความคลาดเคลื่อนจากนาฬิกาของ browser เล็กน้อยเท่านั้น
วิธีทดสอบอัตรารีเฟรชจอ
- เตรียมเครื่องให้ว่าง ปิดเกม วิดีโอที่เล่นอยู่ และแอปที่ใช้ GPU หนัก เพื่อไม่ให้การ render ของแท็บอื่นรบกวนการวัด
- เปิด Refresh Rate Tester บนจอที่ต้องการทดสอบ — ถ้ามีหลายจอ ให้เปิด tool บนจอที่ต้องการวัดตัวนั้น ๆ
- กดปุ่มเริ่มวัด แล้วปล่อยให้แท็บทำงานอยู่กับที่ อย่าสลับแท็บหรือลดหน้าต่าง
- รอ 2 วินาที ระหว่างนี้ตัววัดจะเก็บช่วงเวลาระหว่างเฟรมราว 120-480 จุดข้อมูล ขึ้นกับ Hz ของจอ
- อ่านผลลัพธ์ ดูค่า Hz ดิบและค่าที่ snap แล้ว เทียบกับตัวเลขที่จอโฆษณา ถ้าตรงกันคือรอด ถ้าไม่ตรงให้ไล่ตรวจการตั้งค่าตามหัวข้อถัดไป
หลักการวัด Hz จาก Frame Timing
หัวใจของตัววัดคือ requestAnimationFrame (rAF) ซึ่งเป็น API ที่ browser ใช้จัดคิวงาน render — browser จะยิง callback ของ rAF ครั้งเดียวต่อการรีเฟรชจอหนึ่งครั้ง จอ 144 Hz ก็จะยิงราว 144 ครั้งต่อวินาที นั่นแปลว่าถ้าเราจด timestamp ของแต่ละ callback แล้วหาผลต่างระหว่างเฟรม เราจะได้ช่วงเวลาต่อเฟรมเป็นมิลลิวินาทีโดยตรง
จากนั้นคำนวณอย่างง่าย: ค่ามัธยฐานของช่วงเวลา = ms ต่อเฟรม และ Hz = 1000 ÷ ช่วงเวลา จอ 144 Hz จะให้ช่วงเวลาราว 6.94 ms ต่อเฟรม ซึ่งหารกลับได้ 144 Hz พอดี
const medianMs = median(frameDeltas); // ช่วงเวลาต่อเฟรม (ms) const rawHz = 1000 / medianMs; // แปลงเป็น Hz ดิบ const snapped = standards.find((s) => Math.abs(s - rawHz) / s <= 0.06);
ทำไมต้องใช้ median แทนค่าเฉลี่ย? เพราะ frame timing จริงไม่เคยสม่ำเสมอ 100% — มีเฟรมที่ช้าลงจาก garbage collection ของ JavaScript, การ switch context ของ OS, หรือ flash ของแท็บ ค่าเฉลี่ยจะถูกเฟรมผิดปกติเหล่านี้ดึงไปได้ง่าย แต่ median คือค่ากลางของข้อมูลทั้งชุด เฟรมแปลก ๆ ไม่กี่เฟรมไม่กระทบผล แล้วการ snap ด้วย tolerance 6% ช่วยตัด noise ขั้นสุดท้าย: ค่าวัด 143.7 Hz ห่างจาก 144 Hz แค่ 0.2% จึง snap เข้าที่ 144 Hz ทันที ในขณะที่ค่า 120.1 Hz ก็ตรงกับ 120 Hz ชัดเจน
กรณีใช้งานจริง
ตรวจจอเกมมิ่งที่เพิ่งซื้อมา
คุณซื้อจอ 165 Hz มาใหม่ ต่อสาย กดปุ่มวัด แล้วเจอ 59.9 Hz — นี่คือสถานการณ์จริงที่เจอบ่อยมาก สิ่งที่ต้องทำคือเข้า Display settings ของ Windows ไปที่ Advanced display settings แล้วเลือก refresh rate เป็น 165 Hz ด้วยมือ แล้ววัดซ้ำจนได้ค่าราว 165 Hz การใช้จอเกมมิ่งที่รัน 60 Hz อยู่โดยไม่รู้ตัว คือการเสียเงินฟรีที่พบได้มากที่สุดในกลุ่มผู้เล่นเกมมือใหม่
แก้ปัญหาจอ 144 Hz ที่ติดอยู่ที่ 60 Hz
ถ้าตั้งค่า refresh rate สูงสุดใน OS แล้วยังวัดได้แค่ 60 Hz สาเหตุมักมาจากฮาร์ดแวร์หรือสาย เช่น จอ 144 Hz รุ่น 1440p ต่อด้วย HDMI เวอร์ชันเก่าที่แบนด์วิดท์ไม่พอ ทำให้ OS บังคับลดเหลือ 60 Hz ตัวอย่างที่เจอบ่อยคือคนใช้ MacBook ต่อจอภายนอกผ่าน adapter USB-C ที่รองรับแค่ 4K 60 Hz การวัดด้วย tool ช่วยยืนยันว่าการเปลี่ยนเป็น DisplayPort หรือ HDMI 2.1 จริง ๆ ทำให้ค่ากระโดดขึ้นไปถึง 144 Hz หรือไม่ ภายในไม่กี่วินาที
เช็กหลังเปลี่ยนสายหรืออัปเดตดริเวอร์ GPU
หลังอัปเดตดริเวอร์ NVIDIA หรือ AMD บางครั้งการตั้งค่าจอจะถูกรีเซ็ต หรือหลังย้ายจอจากพอร์ตหนึ่งไปอีกพอร์ต ค่า refresh rate ที่เคยเป็น 144 Hz อาจกลับไปเป็น 60 Hz เงียบ ๆ กิจวัตรที่ดีคือเปิด tool วัดหนึ่งรอบทุกครั้งหลังแตะอะไรที่เกี่ยวกับจอ สาย หรือดริเวอร์ — ใช้เวลาไม่ถึง 10 วินาที แต่ช่วยกันปัญหาที่มักรู้ตัวช้า
เทียบจอแล็ปท็อปกับจอภายนอก
แล็ปท็อปรุ่นใหม่จำนวนมากมีจอ built-in 120-165 Hz ในขณะที่จอภายนอกที่ต่อร่วมด้วยอาจรัน 60 หรือ 75 Hz การวัดแยกทีละจอช่วยให้รู้ว่าหน้าจอไหนคือ "จอลื่น" จริง และควรใช้จอไหนเล่นเกมหรือตัดต่อ นอกจากนี้ถ้าสงสัยว่าจอรุ่นไหนหลอก spec หรือไม่ การวัดด้วยตัวเองให้คำตอบที่เชื่อได้กว่ารีวิวใด ๆ เพราะวัดจากเครื่องและการตั้งค่าของคุณเอง
แนวทางปฏิบัติที่ดี
- วัดตอนเครื่องว่าง ปิดเกม สตรีมวิดีโอ และแอป render หนัก เพื่อให้ GPU อุ่นพอที่จะผลิตเฟรมทันทุกรอบรีเฟรช
- คงแท็บไว้หน้าจอตลอด 2 วินาที browser จะ throttling rAF ของแท็บที่ไม่ active ทำให้ค่าผิดทันทีถ้าสลับแท็บหรือลดหน้าต่างระหว่างวัด
- วัดซ้ำ 2-3 รอบ แล้วดูว่าค่าดิบนิ่งหรือไม่ ถ้าสองรอบได้ 143.7 Hz กับ 144.1 Hz แปลว่าการวัดน่าเชื่อถือ
- ใช้ค่า snap เป็นคำตอบ ใช้ค่าดิบเป็นหลักฐาน ค่า snap บอกว่าจอรันโหมดไหน ส่วนค่าดิบช่วยแยก noise ออกจากปัญหาจริง
- จำให้ขึ้นใจว่า fps ≠ Hz การวัดนี้บอก ceiling ทางกายภาพของจอ แต่ความลื่นในเกมจริงยังถูกจำกัดด้วย fps ที่ GPU ส่งได้ในแต่ละฉากด้วย
- วัดใหม่ทุกครั้งหลังเปลี่ยนแปลง สาย พอร์ต adapter ดริเวอร์ หรือ OS update อาจเปลี่ยนโหมด refresh rate โดยไม่มีการแจ้งเตือน
พร้อมเช็ก Hz จริงของจอแล้วหรือยัง?
การรู้ว่าจอรันกี่ Hz ไม่ใช่เรื่องสำหรับคนเกมเท่านั้น — มันคือการตรวจว่าอุปกรณ์ที่จ่ายเงินไปทำงานเต็มสมรรถนะหรือไม่ ใช้เวลาแค่ 2 วินาทีต่อการวัดหนึ่งรอบ เปิด Refresh Rate Tester ตอนนี้เลย แล้วดูด้วยตาตัวเองว่าจอที่คุณใช้อยู่ให้ความลื่นเท่าที่ควรหรือเปล่า ถ้าผลออกมาต่ำกว่าที่คิด คุณเพิ่งประหยัดเวลาหลายเดือนที่จะไปโทระบบช้าโดยไม่รู้ต้นตอ
เครื่องมือที่เกี่ยวข้องที่คุณอาจสนใจ:
- Screen Resolution Checker — ตรวจความละเอียดจริงของจอและพื้นที่พร้อมใช้งาน
- PPI Calculator — คำนวณความหนาแน่นพิกเซลจากขนาดจอและความละเอียด
- Vision Screen Test — ทดสอบหน้าจอหา dead pixel และปัญหาการแสดงผล
ขอให้ทดสอบจออย่างสนุก!
คำถามที่พบบ่อย
ถ: ค่าที่วัดได้ เช่น 143.7 Hz แปลว่าจอผิดพลาดหรือเปล่า?
ตอบ: ไม่ใช่ ค่าดิบจาก frame timing มีความคลาดเคลื่อนเล็กน้อยอยู่แล้วจากนาฬิกาของ browser และ OS ค่า 143.7 Hz ที่ snap เป็น 144 Hz แปลว่าจอรันถูกต้องพอดี ให้ดูค่าที่ snap แล้วเป็นตัวสรุป
ถ: ผลที่วัดได้ต่างจากค่า fps ที่เห็นในเกมอย่างไร?
ตอบ: การวัดนี้เป็นการหา refresh rate ของจอ ส่วน fps ในเกมคือจำนวนเฟรมที่ GPU ผลิตได้จริงในแต่ละฉาก ถ้าจอ 144 Hz แต่เกมรัน 80 fps คุณจะเห็นความลื่นแค่ 80 fps เพราะขาดเฟรมอยู่ฝั่ง GPU
ถ: ทำไมจอ 144 Hz ของผมวัดแล้วได้ 60 Hz?
ตอบ: มักเป็นเพราะ OS ยังตั้งค่าจอไว้ที่ 60 Hz หรือสายและ adapter ที่ใช้มีแบนด์วิดท์ไม่พอ ให้เข้าไปตั้ง refresh rate สูงสุดใน display settings ก่อน ถ้ายังไม่ได้ให้ลองเปลี่ยนเป็น DisplayPort หรือ HDMI เวอร์ชันใหม่แล้ววัดซ้ำ
ถ: ใช้กับมือถือหรือแท็บเล็ตได้ไหม?
ตอบ: ได้ เพราะ requestAnimationFrame มีอยู่ใน browser ทุกแพลตฟอร์ม มือถือรุ่นใหม่ที่โฆษณา 90 หรือ 120 Hz สามารถวัดยืนยันได้ด้วยวิธีเดียวกัน
ถ: tool เก็บหรือส่งข้อมูลอะไรออกไปบ้าง?
ตอบ: ไม่มีเลย การวัดทั้งหมดทำงานฝั่ง client ใน browser ของคุณ timestamp ของเฟรมไม่ถูกส่งไปเซิร์ฟเวอร์ใด ๆ และไม่มีการบันทึกประวัติการใช้งาน