Bewertung der Auswirkungen von Optimierungen in GNOME 46 auf die Effizienz von Terminalemulatoren

Die Ergebnisse der Überprüfung der Effizienz der Optimierungen, die in die VTE-Bibliothek (Virtual Terminal Library) aufgenommen wurden und Teil des Releases GNOME 46 sind, wurden veröffentlicht. Bei den Tests wurde die Reaktionsfähigkeit der Benutzeroberfläche in den Terminalemulatoren Alacritty, Console (GTK 4), GNOME Terminal (GTK 3 und 4) sowie der VTE Test-App ( Beispiel aus dem VTE-Repository) getestet, die unter Fedora 39 mit GNOME 45 und unter Fedora 40-beta mit GNOME 46 gestartet wurden. Die Anwendung Alacritty nutzt nicht die VTE-Bibliothek und wurde als Referenz gewählt, da sie, basierend auf früheren Tests, einer der schnellsten Terminalemulatoren ist. Ein Hardware-Sensor basierend auf einer Teensy-Platine wurde zur Messung der Zeit zwischen dem Drücken der Taste und dem Erscheinen von Informationen auf dem Bildschirm eingesetzt.

Die VTE-Bibliothek bietet ein fertiges GTK-Widget, das in verschiedenen Terminalemulatoren für GNOME verwendet wird, darunter GNOME Terminal, Console, Black Box, Tilix, Terminator und Ptyxis. In der Version GNOME 46 wurden die internen Strukturen in VTE erheblich überarbeitet, was laut den Entwicklern zu einer Beschleunigung der Vorgänge führte, deren Leistungssteigerung in den Tests bis zu 40% betrug. Praktisch führten die Optimierungen zu einer Verringerung der Verzögerungen bei der Darstellung in Konfigurationen mit GTK 4. Zuvor waren Verzögerungen bei der Tastenanschlagserkennung in Console und GNOME Terminal spürbar, was viele Benutzer davon abhielt, die integrierten Terminalemulatoren für GNOME zu verwenden. Dieses Problem wurde in der Version VTE 0.76 behoben.

Unabhängige Tests haben eine signifikante Verringerung der Eingabeverzögerungen in Anwendungen, die auf VTE basieren, bestätigt, was nicht nur in einfachen, sondern auch in komplexen Nutzungsszenarien von Terminalen zu beobachten ist. Beispielsweise sank die Eingabeverzögerung in Terminalemulatoren basierend auf VTE bei der Verwendung von neovim auf das Niveau des schnellsten Terminals Alacritty. Insbesondere sank die Reaktionszeit auf Tastendruck in Console und GNOME Terminal in einem Test mit dem Befehl 'cat' von 40 auf 12 ms, und im Scroll-Test in neovim von 45 auf 23 ms.

Bewertung der Auswirkungen von Optimierungen in GNOME 46 auf die Effizienz von Terminalemulatoren
Bewertung der Auswirkungen von Optimierungen in GNOME 46 auf die Effizienz von Terminalemulatoren
Bewertung der Auswirkungen von Optimierungen in GNOME 46 auf die Effizienz von Terminalemulatoren

Die beschleunigte Leistung in der neuen Version der VTE-Bibliothek wurde auch im Testset vtebench festgestellt, das nicht die Eingabeverzögerungen misst, sondern die Lesezeit von Geräten der virtuellen Terminalschnittstelle (PTY) und die Leistung der Parser (Tests zur Scrollgeschwindigkeit und Cursorbewegung). Dabei übertrifft Alacritty in den meisten vtebench-Tests Console und GNOME Terminal, jedoch ist der Rückstand der letzteren nicht mehr so ausgeprägt wie früher. Teilweise wird der Rückstand von GNOME Terminal durch den Overhead zur Unterstützung von Barrierefreiheit (Accessibility) erklärt.

Bewertung der Auswirkungen von Optimierungen in GNOME 46 auf die Effizienz von Terminalemulatoren


Quelle: opennet.ru
Erwerben Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster