Ocena wpływu optymalizacji w GNOME 46 na wydajność emulatorów terminali

Opublikowano wyniki testów efektywności optymalizacji dodanych do biblioteki VTE (biblioteka Virtual TERminal) i zawartych w wydaniu GNOME 46. Podczas testów mierzono responsywność interfejsu w emulatorach terminali Alacritty, Console (GTK 4) , GNOME Terminal (GTK 3 i 4) i aplikacja VTE Test App (przykład z repozytorium VTE), gdy działa na Fedorze 39 z GNOME 45 i Fedorze 40-beta z GNOME 46. Aplikacja Alacritty nie korzysta z biblioteki VTE i została wybrana jako odniesienie, ponieważ sądząc po poprzednich testach, jest to jeden z najszybszych emulatorów terminala. Do pomiaru wykorzystano czujnik sprzętowy oparty na płytce Teensy, który mierzy czas pomiędzy naciśnięciem przycisku a pojawieniem się informacji na ekranie.

Biblioteka VTE udostępnia gotowy widget GTK używany w różnych emulatorach terminali dla GNOME, w tym GNOME Terminal, Console, Black Box, Tilix, Terminator i Ptyxis. W wersji GNOME 46 firma VTE znacznie przeprojektowała struktury wewnętrzne, co zdaniem twórców doprowadziło do szybszych operacji, których wzrost wydajności w testach osiągnął 40%. Z praktycznego punktu widzenia optymalizacje doprowadziły do ​​zmniejszenia opóźnień renderowania w konfiguracjach z GTK 4. Wcześniej zauważalne były opóźnienia przy wprowadzaniu danych z klawiatury w Konsoli i GNOME Termina, co zniechęcało wielu użytkowników do używania standardowych emulatorów terminali dla GNOME. W wersji VTE 0.76 problem ten został rozwiązany.

Niezależne testy potwierdziły zauważalne zmniejszenie opóźnień wprowadzania danych w aplikacjach opartych na VTE, które obserwuje się nie tylko w prostych, ale także złożonych scenariuszach użycia terminala. Na przykład podczas korzystania z neovima opóźnienia wejściowe emulatorów terminali opartych na VTE zostały zmniejszone do poziomu najszybszego terminala Alacritty. W szczególności w teście związanym z użyciem narzędzia „cat” reakcja na naciśnięcia klawiszy w Konsoli i Terminalu GNOME spadła do 40 do 12 ms, a w teście przewijania w neovimie - z 45 do 23 ms.

Ocena wpływu optymalizacji w GNOME 46 na wydajność emulatorów terminali
Ocena wpływu optymalizacji w GNOME 46 na wydajność emulatorów terminali
Ocena wpływu optymalizacji w GNOME 46 na wydajność emulatorów terminali

Przyspieszenie podczas korzystania z nowej wersji biblioteki VTE odnotowuje się także w zestawie testów vtebench, który nie mierzy opóźnienia wejściowego, ale czas odczytu z urządzenia PTY i wydajność analizowania (testy szybkości przewijania i ruchu kursora). Jednocześnie w większości testów vtebench terminal Alacritty przewyższa konsolę i terminal GNOME, ale opóźnienie w stosunku do tego ostatniego nie jest tak wyraźne jak wcześniej. Część opóźnień terminala GNOME wynika z narzutu związanego z obsługą funkcji ułatwień dostępu.

Ocena wpływu optymalizacji w GNOME 46 na wydajność emulatorów terminali


Źródło: opennet.ru

Dodaj komentarz