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

Die Ergebnisse der Prüfung der Wirksamkeit von Optimierungen, die der VTE-Bibliothek (Virtual TERminal Library) hinzugefügt und in der GNOME 46-Version enthalten sind, wurden veröffentlicht. Während des Tests wurde die Reaktionsfähigkeit der Schnittstelle in den Terminalemulatoren Alacritty, Console (GTK 4) gemessen. , GNOME Terminal (GTK 3 und 4) und VTE Test App (Beispiel aus dem VTE-Repository), bei Ausführung auf Fedora 39 mit GNOME 45 und Fedora 40-beta mit GNOME 46. Die Alacritty-Anwendung verwendet nicht die VTE-Bibliothek und wurde ausgewählt als Referenz, da es sich nach früheren Tests um einen der schnellsten Terminalemulatoren handelt. Für die Messung wurde ein Hardware-Sensor auf Basis des Teensy-Boards verwendet, der die Zeit zwischen dem Drücken einer Taste und dem Erscheinen von Informationen auf dem Bildschirm misst.

Die VTE-Bibliothek stellt ein vorgefertigtes GTK-Widget bereit, das in verschiedenen Terminalemulatoren für GNOME verwendet wird, darunter GNOME Terminal, Console, Black Box, Tilix, Terminator und Ptyxis. In der Version GNOME 46 hat VTE die internen Strukturen deutlich überarbeitet, was laut den Entwicklern zu schnelleren Abläufen führte, deren Leistungssteigerung in Tests 40 % erreichte. Auf der praktischen Seite haben Optimierungen zu einer Reduzierung der Renderverzögerungen in Konfigurationen mit GTK 4 geführt. Zuvor waren Verzögerungen bei der Tastatureingabe in Console und GNOME Termina spürbar, was viele Benutzer davon abhielt, Standard-Terminalemulatoren für GNOME zu verwenden. Mit VTE 0.76 wurde dieses Problem behoben.

Unabhängige Tests haben eine spürbare Reduzierung der Dateneingabelatenz in VTE-basierten Anwendungen bestätigt, die nicht nur bei einfachen, sondern auch bei komplexen Terminalnutzungsszenarien beobachtet wird. Beispielsweise wurden bei Verwendung von neovim die Eingabelatenzen von VTE-basierten Terminalemulatoren auf das Niveau des schnellsten Alacritty-Terminals reduziert. Insbesondere im Test im Zusammenhang mit der Verwendung des Dienstprogramms „cat“ verringerte sich die Reaktion auf Tastendrücke in der Konsole und im GNOME-Terminal auf 40 bis 12 ms und im Scrolltest in neovim von 45 auf 23 ms.

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

Die Beschleunigung bei der Verwendung der neuen Version der VTE-Bibliothek wird auch in der Testsuite vtebench festgestellt, die nicht die Eingabeverzögerung, sondern die Lesezeit vom PTY-Gerät und die Parsing-Leistung (Tests der Scrollgeschwindigkeit und Cursorbewegungen) misst. Gleichzeitig übertrifft das Alacritty-Terminal in den meisten vtebench-Tests die Konsole und das GNOME-Terminal, allerdings ist der Rückstand hinter letzterem nicht mehr so ​​ausgeprägt wie zuvor. Ein Teil der Verzögerung von GNOME Terminal ist auf den Mehraufwand bei der Unterstützung von Barrierefreiheitsfunktionen zurückzuführen.

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


Source: opennet.ru

Kommentar hinzufügen