2 คะแนน โดย GN⁺ 2025-01-27 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • บล็อกโพสต์ที่อ่านเมื่อวานพูดถึงผู้ใช้ Linux ที่กำลังถกเถียงกันเรื่องความไม่พอใจต่อ input latency บน Wayland ผู้ใช้รายนี้อธิบายประสบการณ์เชิงอัตวิสัย แต่ไม่สามารถแสดงหลักฐานที่ชัดเจนได้

  • ผู้เขียนซึ่งเป็นผู้ใช้ Wayland ก็มีความรู้สึกร่วมกันว่าความหน่วงของเคอร์เซอร์มากกว่า X11 แม้ว่าการทดลองก่อนหน้าจะถูกจำกัดด้วยกล้อง 90 FPS แต่ผู้เขียนคิดว่าการใช้กล้อง 240 FPS น่าจะให้ผลลัพธ์ที่ชัดเจนกว่า

การออกแบบการทดลอง

  • ผู้เขียนตั้งกล้องให้เห็นทั้งหน้าจอและโต๊ะ โดยให้เมาส์เคอร์เซอร์และมืออยู่ในเฟรม แล้วบันทึกวิดีโอขณะขยับเมาส์ซ้ำ ๆ
  • บันทึกอย่างละ 16 ครั้งในเซสชัน Wayland และ X11 จากนั้นแปลงไฟล์วิดีโอผลลัพธ์เป็นชุดภาพ JPEG แล้วนับตั้งแต่เฟรมที่เมาส์เริ่มขยับจนถึงเฟรมที่เคอร์เซอร์เริ่มขยับ

รายละเอียดฮาร์ดแวร์

  • ดิสโทร: Fedora Workstation 41
  • เวอร์ชัน GNOME: 47
  • CPU: AMD Ryzen 9 5950X
  • GPU: AMD Radeon RX 7900XT
  • จอภาพ: Gigabyte M32U (4k IPS @ 144.99, ไม่มีการสเกล DPI)
  • เมาส์: Logitech G502 Lightspeed
  • กล้อง: iPhone 15 Pro, สโลว์โมชัน 240 FPS

ข้อจำกัด

  • 240 FPS ก็ยังไม่เพียงพอ บนหน้าจอ 144Hz จะได้ไม่ถึงสองเฟรมของกล้องต่อการรีเฟรชหน้าจอหนึ่งครั้ง
  • พิกเซลไม่ได้สลับทันที จึงมีเฟรมที่กำกวมซึ่งเคอร์เซอร์เริ่มมองเห็นได้เล็กน้อยในตำแหน่งใหม่
  • การบันทึกวิดีโอมีเฟรมซ้ำรวมอยู่ด้วย ซึ่งผู้เขียนตีความเป็นการผ่านไปของเวลาและนำมาคำนวณตามปกติ

ผลลัพธ์

  • ค่าเฉลี่ยความหน่วงของ GNOME X11 อยู่ที่ 16.7ms ส่วน Wayland อยู่ที่ 23.2ms โดย Wayland มี cursor latency มากกว่า X11 ประมาณ 6.5ms
  • ยังไม่แน่ชัดว่าความต่างนี้มีนัยสำคัญทางสถิติหรือไม่ แต่เห็นความแตกต่างที่ชัดเจนและสม่ำเสมอ

บทสรุป

  • ผลลัพธ์นี้พิสูจน์ว่ามีความแตกต่างของ input latency ระหว่าง X11 กับ Wayland และจำเป็นต้องมีการทดสอบเพิ่มเติมกับฮาร์ดแวร์และอัตรารีเฟรชอื่น ๆ
  • การทดสอบนี้ไม่ได้พิสูจน์ว่า Wayland มี input latency ในเกมสูงกว่า X11 เพราะอาจเป็นความหน่วงที่จำกัดอยู่เฉพาะเคอร์เซอร์เท่านั้น จึงยังต้องมีการทดสอบเพิ่มเติม

1 ความคิดเห็น

 
GN⁺ 2025-01-27
ความคิดเห็นจาก Hacker News
  • มีความเห็นว่าการออกแบบการทดลองด้วยวิธีการทางวิทยาศาสตร์เป็นสิ่งสำคัญ ไม่ทราบเหตุผลของความหน่วงเพิ่มเติมใน Wayland แต่ในช่วงแรกของ X11 ก็มีเสียงบ่นเรื่องความหน่วงของหน้าจอมากเช่นกัน Wayland เป็นเทคโนโลยีที่ใหม่กว่า X11 จึงยังไม่ได้รับการตรวจสอบอย่างเพียงพอ

  • อธิบายวิธีใช้ ffmpeg เพื่อดึง "เวลาแสดงผล" ของแต่ละเฟรมในวิดีโอ โดยสามารถทำงานคล้ายกันได้ในเว็บเบราว์เซอร์ และหากคอมพิวเตอร์ไม่สามารถถอดรหัสทุกเฟรมได้เร็วพอ อาจต้องตั้งค่า .playbackRate ให้ต่ำลง

  • บนหน้าจอ 144Hz นั้น Wayland มีความหน่วงของเคอร์เซอร์มากกว่า X11 โดยเฉลี่ยประมาณ 6.5ms ซึ่งเกือบเท่ากับการรีเฟรชหน้าจอ 1 ครั้ง และบนจอ 60Hz ก็อาจเท่ากับ 1/60 วินาที คนส่วนใหญ่อาจอธิบายไม่ได้ แต่สามารถรู้สึกถึงความแตกต่างได้

  • ผลลัพธ์อาจแตกต่างกันไปตาม compositor, GPU และการตั้งค่า ส่วน X11 ใช้การติดตั้งใช้งาน X server เพียงแบบเดียว จึงมีความแตกต่างลักษณะนี้น้อยกว่า อาจมีปัญหาที่หลายชุดค่าผสมของ compositor/GPU ไม่สามารถใช้ hardware cursor plane ได้

  • Wayland มีอายุ 16 ปีแล้ว และอีกไม่กี่ปีก็จะมีอายุใกล้เคียงกับตอนที่ X เพิ่งออกมาในช่วงแรก แต่ก็ยังมีความเห็นว่ามันยังแย่กว่า X

  • มีความเห็นว่าความพยายามทำโซลูชันเดิมให้ดูทันสมัยและดูแลรักษาง่ายขึ้นนั้นไม่ได้ประสบความสำเร็จเสมอไป และมีคำวิจารณ์ว่านักพัฒนารุ่นใหม่ขาดความรู้ด้านประสิทธิภาพและการปรับแต่งประสิทธิภาพ

  • เมื่อ GPU ทำงานหนักเกินไปจะเกิดอาการความหน่วงพุ่งสูงเป็นช่วง ๆ แม้จะไม่ได้ทดสอบเทียบกับ X11 แต่ก่อนหน้านี้ไม่เคยมีปัญหาแบบนี้ ความหน่วงเพิ่มขึ้นอีกหนึ่งเฟรมก็แย่อยู่แล้ว และอาการความหน่วงที่พุ่งขึ้นเป็นครั้งคราวก็น่ารำคาญมาก

  • บน iPhone สามารถใช้ isitsnappy.com วัดได้อย่างรวดเร็ว และยืนยันได้ว่าในเกมแนวจังหวะบน Steam Deck ที่ต่อเข้ากับทีวีมีความหน่วง 100ms

  • หาก Wayland ช้ากว่า X11 อยู่หนึ่งเฟรมเสมอ ก็น่าจะคุ้มที่จะลองทำการทดลองซ้ำโดยตั้งค่าจอภาพให้มีอัตรารีเฟรชต่ำมาก

  • เรื่องนี้น่าจะขึ้นอยู่กับ compositor และมีคนสงสัยว่าเป็นปัญหาของ mutter โดยเฉพาะ หรือว่าสามารถทำให้เกิดซ้ำได้บน kwin ด้วย

  • มีความเห็นว่าตนเองไม่มีความเชี่ยวชาญด้านสถิติมากพอที่จะวิเคราะห์ได้ว่าความแตกต่างนั้นมีนัยสำคัญทางสถิติหรือไม่ โดยค่าสถิติ two-sample t-test คือ -4.74 และค่า p-value คือ 4.20e-05