3 puan yazan GN⁺ 2024-04-09 | 1 yorum | WhatsApp'ta paylaş
  • VTE (Virtual TErminal library), GNOME terminal emülatörlerinin temelini oluşturan kütüphanedir. GNOME Terminal, Console, Black Box, Tilix, Terminator, Ptyxis gibi uygulamalarda kullanılır; ayrıca Builder ve Workbench’in gömülü terminallerinde de yer alır.
  • GNOME 46 döngüsü boyunca VTE’nin performansı büyük ölçüde iyileştirildi. Bu yazı, performansın gerçekte ne kadar arttığını ölçüyor ve kullanıcı açısından nasıl bir fark hissedilebileceğini inceliyor.

Ölçüm konusu ve yöntemi

  • Terminal emülatörü performansını ölçmenin çeşitli yolları var, ancak bu yazı giriş gecikmesine (input latency) odaklanıyor.
  • Giriş gecikmesi, klavyeye basılan andan monitördeki piksel renginin değiştiği ana kadar geçen süreyi ifade eder. Giriş gecikmesi düşük olan uygulamalar daha tepkisel hissedilirken, yüksek giriş gecikmesine sahip uygulamalar yavaş hissettirebilir.
  • Giriş gecikmesini ölçmek için donanımsal bir giriş gecikmesi test cihazı kullanıldı. Bu cihaz, Teensy karta bağlı bir ışık sensöründen oluşuyor ve USB üzerinden bilgisayara bağlanıyor.

Giriş gecikmesi testi sonuçları

  • İlk test: cat > /dev/null komutuyla bir giriş alanı oluşturulup Space tuşuna basıldığında, blok imlecin bir hücre sağa hareket etmesi için geçen süre ölçüldü
    • VTE terminalleri, Fedora 39’a kıyasla Fedora 40’ta büyük ölçüde iyileşti ve neredeyse Alacritty ile aynı seviyeye geldi
  • İkinci test: neovim’de README dosyası açılıp Ctrl+D ve Ctrl+U ile metin tamponu kaydırılırken ölçüm yapıldı
    • Burada da GNOME 46’nın VTE terminalleri belirgin biçimde iyileşti ve neredeyse Alacritty ile aynı seviyeyi gösterdi
  • Fedora 40’taki tüm terminaller aynı anda karşılaştırıldığında, neovim testinde giriş gecikmesinin cat testine göre arttığı görüldü; ancak bu artış tüm terminallerde benzer düzeydeydi

vtebench test sonuçları

  • Alacritty’nin vtebench test paketi aynı ortamda çalıştırıldı
  • Bu test, PTY okuma ve ayrıştırma performansını ölçüyor; ayrıca VTE çakılmalarını bulmakta da yararlı
  • GNOME 46’daki VTE, vtebench’te de iyileşme gösterdi ancak Alacritty düzeyinde değil

Sonuç

  • GNOME 46’da VTE performansı büyük ölçüde iyileştirildi ve giriş gecikmesi en hızlı terminallerle neredeyse aynı seviyeye geldi
  • Yavaş tepki süresi ve giriş gecikmesi nedeniyle şimdiye kadar VTE tabanlı terminallerden kaçındıysanız, artık yeniden denemeye değer (VTE 0.76 ve üzeri sürümler önerilir)

GN⁺ görüşü

  • VTE tabanlı terminallerdeki performans iyileştirmeleri oldukça sevindirici. Kullanıcı deneyiminin gelişmesine büyük katkı sağlayacak gibi görünüyor.
  • Giriş gecikmesi ölçümünde donanımsal bir test cihazı kullanılması ilgi çekici. Test sürecinin ve sonuçların nasıl yorumlandığının ayrıntılı biçimde anlatılması da faydalı olmuş.
  • macOS’un varsayılan terminali Terminal.app veya Windows’un yeni terminali Windows Terminal ile karşılaştırmak da ilginç olabilir.
  • VTE’deki performans iyileştirmelerinin GNOME ekosisteminin geneline olumlu etki yapması bekleniyor. Yine de erişilebilirlik, kaydırma çubuğu gibi hâlâ iyileştirme alanı bulunan noktalar var gibi görünüyor.
  • Linux masaüstü kullanıcıları için çok sevindirici bir gelişme. Çeşitli terminal emülatörlerinin, VTE’deki bu iyileştirmeler üzerine daha da ilerlemesi umuluyor.

1 yorum

 
GN⁺ 2024-04-09

Hacker News görüşleri

  • En yeni GNOME Terminal'in giriş gecikmesinin 1983 tarihli Apple //e bilgisayarından daha kısa hale gelmesi bir başarı, ancak test ortamı gerçek kullanım ortamından farklı
    • Test, GNOME Shell yerine sade bir ortam olan raw Mutter üzerinde yapıldı
    • Klavye gecikmesi dahil edilmediği için bu uçtan uca gecikme ölçümü değil (klavye gecikmesi 60 ms'ye kadar çıkabiliyor)
    • Varsayılan ayarlarda gerçek uçtan uca gecikmenin daha uzun olması bekleniyor
  • Ölçüm monitörün ortasında yapıldı, ancak monitörün üst ve alt kısmı arasında 8 ms fark olabilir (CRT'lerde olduğu gibi pikseller yukarıdan aşağıya çizildiği için)
  • Monitörler arasında doğrudan karşılaştırma yapmak zor. Sürücü veya profil kaynaklı, karşılaştırmayı geçersiz kılan etkiler olabilir
  • Gerçekçi 3D render almanın mümkün olduğu bir çağda terminal metin çıktısı sorununu çözmeye çalışmanın ironik olduğu yorumu
  • VTE geliştiricisinin performans iyileştirme çabası ve donanım tabanlı gecikme ölçüm çalışması etkileyici bulundu
  • macOS Terminal gibi sekme bazında geçmişi ve scrollback'i hatırlayan bir Linux terminali olup olmadığı soruldu
  • Uzun süre Gnome kullandıktan sonra sway+alacritty'ye geçen birinin aradaki farkı anlamadığını söyleyen görüş
  • Gnome Terminal'in küçük başlangıç pencere boyutu ve pencere boyutunu hatırlamama sorunu dile getirildi
  • xterm+i3wm kullanırken daha hızlı bir deneyim yaşamadığını, GPU kullanan alacritty'nin gereğinden fazla olduğu görüşü
  • Mitchelle Hashimoto'nun Ghostty terminalinin de benchmark'a dahil edilmesinin iyi olacağı yorumu
  • Basit bir cat testi yerine bu benchmark'ın daha iyi olduğu, daha fazla terminalin, özellikle de yerel Linux konsolunun test edilmesinin faydalı olacağı görüşü