- VTE (Virtual TErminal library) คือไลบรารีที่เป็นพื้นฐานของโปรแกรมจำลองเทอร์มินัลใน GNOME ใช้งานในแอปอย่าง GNOME Terminal, Console, Black Box, Tilix, Terminator และ Ptyxis รวมถึงเทอร์มินัลแบบฝังใน Builder และ Workbench ด้วย
- ระหว่างรอบการพัฒนา GNOME 46 ประสิทธิภาพของ VTE ดีขึ้นอย่างมาก บทความนี้วัดให้เห็นจริงว่าประสิทธิภาพดีขึ้นมากแค่ไหน และผู้ใช้จะรู้สึกถึงความแตกต่างอะไรได้บ้าง
สิ่งที่วัดและวิธีการ
- มีหลายวิธีในการวัดประสิทธิภาพของโปรแกรมจำลองเทอร์มินัล แต่บทความนี้โฟกัสที่ Input Latency
- Input Latency หมายถึงเวลาตั้งแต่กดแป้นพิมพ์ไปจนถึงตอนที่สีของพิกเซลบนจอภาพเปลี่ยน แอปที่มี Input Latency ต่ำจะให้ความรู้สึกตอบสนองได้ดี ส่วนแอปที่มีค่า Input Latency สูงอาจให้ความรู้สึกช้า
- ในการวัด Input Latency ใช้ฮาร์ดแวร์ทดสอบ latency ของอินพุต ซึ่งประกอบด้วยเซ็นเซอร์วัดแสงที่เชื่อมต่อกับบอร์ด Teensy และเชื่อมเข้ากับคอมพิวเตอร์ผ่าน USB
ผลการทดสอบ Input Latency
- การทดสอบแรก: สร้างช่องรับอินพุตด้วยคำสั่ง
cat > /dev/null แล้ววัดเวลาที่ใช้เมื่อกดปุ่ม Space จนบล็อกเคอร์เซอร์เลื่อนไปทางขวาหนึ่งช่อง
- เทอร์มินัลที่ใช้ VTE บน Fedora 40 ดีขึ้นอย่างมากเมื่อเทียบกับ Fedora 39 และเข้าใกล้ระดับเดียวกับ Alacritty
- การทดสอบที่สอง: เปิดไฟล์ README ใน neovim แล้ววัดระหว่างการเลื่อน text buffer ด้วย Ctrl+D และ Ctrl+U
- เช่นกัน เทอร์มินัล VTE ของ GNOME 46 ดีขึ้นมาก และแสดงผลใกล้เคียงกับ Alacritty
- เมื่อนำเทอร์มินัลทั้งหมดบน Fedora 40 มาเปรียบเทียบพร้อมกัน พบว่าในการทดสอบ neovim ค่า Input Latency สูงกว่าการทดสอบด้วย
cat แต่เพิ่มขึ้นในระดับใกล้เคียงกันทุกตัว
ผลการทดสอบ vtebench
- รันชุดทดสอบ vtebench ของ Alacritty ในสภาพแวดล้อมเดียวกัน
- เป็นการทดสอบเพื่อวัดประสิทธิภาพการอ่านและพาร์ส PTY และยังมีประโยชน์ในการค้นหา crash ของ VTE ด้วย
- VTE ใน GNOME 46 แสดงการปรับปรุงใน vtebench เช่นกัน แต่ยังไม่ถึงระดับของ Alacritty
บทสรุป
- ใน GNOME 46 ประสิทธิภาพของ VTE ดีขึ้นอย่างมาก ทำให้ Input Latency ดีขึ้นจนเกือบเทียบเท่าเทอร์มินัลที่เร็วที่สุด
- หากที่ผ่านมาเลี่ยงเทอร์มินัลที่ใช้ VTE เพราะการตอบสนองช้าและมี Input Latency สูง ตอนนี้อาจถึงเวลาลองใช้อีกครั้งแล้ว (แนะนำ VTE เวอร์ชัน 0.76 ขึ้นไป)
ความเห็นจาก GN⁺
- การปรับปรุงประสิทธิภาพของเทอร์มินัลที่ใช้ VTE เป็นเรื่องที่น่ายินดีมาก และน่าจะช่วยยกระดับประสบการณ์ใช้งานได้อย่างมาก
- การใช้ฮาร์ดแวร์ทดสอบมาวัด Input Latency เป็นจุดที่น่าสนใจ และคำอธิบายรายละเอียดของกระบวนการทดสอบกับการตีความผลลัพธ์ก็มีประโยชน์มาก
- น่าจะน่าสนใจหากลองเทียบกับ Terminal.app ซึ่งเป็นเทอร์มินัลพื้นฐานของ macOS หรือ Windows Terminal ซึ่งเป็นเทอร์มินัลรุ่นใหม่ของ Windows
- คาดว่าการปรับปรุงประสิทธิภาพของ VTE จะส่งผลเชิงบวกต่อ ecosystem ของ GNOME โดยรวม แม้ดูเหมือนว่ายังมีบางจุดที่พัฒนาได้อีก เช่น accessibility และ scrollbar
- สำหรับผู้ใช้ลินุกซ์เดสก์ท็อป นี่เป็นข่าวที่น่ายินดีมาก และหวังว่าโปรแกรมจำลองเทอร์มินัลหลากหลายตัวจะพัฒนาต่อไปได้มากขึ้นบนพื้นฐานของการปรับปรุงใน VTE
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
catแบบง่าย ๆ และอยากให้ทดสอบเทอร์มินัลที่หลากหลายกว่านี้ โดยเฉพาะคอนโซลลินุกซ์แบบเนทีฟด้วย