3 poin oleh GN⁺ 2024-04-09 | 1 komentar | Bagikan ke WhatsApp
  • VTE (Virtual TErminal library) adalah library yang menjadi dasar bagi emulator terminal GNOME. Digunakan oleh aplikasi seperti GNOME Terminal, Console, Black Box, Tilix, Terminator, dan Ptyxis, serta terminal bawaan di Builder dan Workbench.
  • Selama siklus GNOME 46, performa VTE meningkat secara signifikan. Artikel ini mengukur seberapa besar peningkatan performa tersebut dalam praktik dan perbedaan seperti apa yang bisa dirasakan pengguna.

Objek dan Metode Pengukuran

  • Ada berbagai cara untuk mengukur performa emulator terminal, tetapi artikel ini berfokus pada input latency.
  • Input latency adalah waktu yang dibutuhkan sejak tombol keyboard ditekan hingga warna piksel pada monitor berubah. Aplikasi dengan input latency rendah akan terasa lebih responsif, sedangkan aplikasi dengan input latency tinggi bisa terasa lambat.
  • Untuk mengukur input latency, digunakan hardware input latency tester. Alat ini terdiri dari sensor cahaya yang terhubung ke papan Teensy dan dihubungkan ke komputer melalui USB.

Hasil Uji Input Latency

  • Pengujian pertama: membuat bidang input dengan perintah cat > /dev/null lalu mengukur waktu yang dibutuhkan kursor blok untuk berpindah satu sel ke kanan saat tombol Space ditekan
    • Terminal VTE di Fedora 40 menunjukkan peningkatan besar dibanding Fedora 39, hingga hampir setara dengan Alacritty
  • Pengujian kedua: membuka file README di neovim dan melakukan scroll pada buffer teks dengan Ctrl+D dan Ctrl+U sambil diukur
    • Di sini juga, terminal VTE pada GNOME 46 menunjukkan peningkatan besar dan hampir setara dengan Alacritty
  • Hasil perbandingan semua terminal di Fedora 40 sekaligus menunjukkan bahwa input latency pada uji neovim meningkat dibanding uji cat, tetapi peningkatannya berada pada tingkat yang serupa di semua terminal

Hasil Uji vtebench

  • Menjalankan test suite vtebench milik Alacritty pada lingkungan yang sama
  • Ini adalah pengujian untuk mengukur performa pembacaan dan parsing PTY, serta berguna juga untuk menemukan crash pada VTE
  • VTE pada GNOME 46 juga menunjukkan peningkatan di vtebench, tetapi belum menyamai Alacritty

Kesimpulan

  • Di GNOME 46, performa VTE meningkat drastis sehingga input latency-nya kini hampir setara dengan terminal tercepat
  • Jika selama ini Anda menghindari terminal berbasis VTE karena respons yang lambat dan input latency tinggi, sekarang layak dicoba lagi (disarankan VTE versi 0.76 atau lebih baru)

Pendapat GN⁺

  • Peningkatan performa terminal berbasis VTE sangat menggembirakan. Ini tampaknya akan banyak berkontribusi pada peningkatan pengalaman pengguna.
  • Menarik bahwa pengukuran input latency memanfaatkan hardware tester. Penjelasan rinci tentang proses pengujian dan interpretasi hasilnya juga bermanfaat.
  • Akan menarik juga jika dibandingkan dengan Terminal.app, terminal bawaan macOS, atau Windows Terminal yang lebih baru di Windows.
  • Diharapkan peningkatan performa VTE akan memberi dampak positif pada seluruh ekosistem GNOME. Namun, tampaknya masih ada area yang bisa ditingkatkan lebih lanjut, seperti aksesibilitas dan scrollbar.
  • Ini adalah kabar yang sangat menggembirakan bagi pengguna desktop Linux. Diharapkan berbagai emulator terminal akan terus berkembang dengan memanfaatkan peningkatan pada VTE ini.

1 komentar

 
GN⁺ 2024-04-09

Pendapat Hacker News

  • Pencapaian bahwa latensi input GNOME Terminal terbaru kini lebih rendah daripada komputer Apple //e tahun 1983 memang patut diapresiasi, tetapi lingkungan pengujiannya berbeda dari lingkungan penggunaan nyata
    • Pengujian dilakukan di raw Mutter, lingkungan barebone, bukan GNOME Shell
    • Latensi keyboard tidak dihitung, jadi ini bukan pengukuran latensi end-to-end (latensi keyboard bisa mencapai 60ms)
    • Diperkirakan latensi end-to-end nyata pada pengaturan default akan lebih tinggi
  • Pengukuran dilakukan di tengah monitor, tetapi antara bagian atas dan bawah monitor bisa ada selisih 8ms (karena piksel digambar dari atas ke bawah seperti CRT)
  • Perbandingan sederhana antar monitor sulit dilakukan. Bisa ada efek yang tidak bisa dibandingkan akibat driver atau profil
  • Agak ironis bahwa di era ketika rendering 3D realistis sudah memungkinkan, masalah keluaran teks terminal justru yang sedang diselesaikan
  • Upaya pengembang VTE dalam meningkatkan performa dan melakukan pengukuran latensi berbasis hardware sangat mengesankan
  • Ada pertanyaan apakah ada terminal Linux yang, seperti Terminal di macOS, mengingat riwayat dan scrollback per tab
  • Ada pendapat bahwa meski sudah lama memakai Gnome, setelah beralih ke sway+alacritty tidak terasa ada perbedaannya
  • Disebutkan juga masalah ukuran awal jendela Gnome Terminal yang kecil dan tidak menyimpan ukuran jendela
  • Ada pendapat bahwa saat memakai xterm+i3wm tidak pernah merasakan sesuatu yang lebih cepat, dan alacritty yang memakai GPU terasa berlebihan
  • Ada pendapat bahwa akan bagus jika terminal Ghostty buatan Mitchelle Hashimoto juga dimasukkan ke benchmark
  • Ada pendapat bahwa benchmark kali ini bagus karena bukan sekadar pengujian cat, dan akan lebih baik jika lebih banyak terminal diuji, terutama konsol Linux native