De resultaten van de effectiviteitscontrole van de optimalisaties die zijn toegevoegd aan de VTE (Virtual Terminal library) zijn gepubliceerd, en deze maken deel uit van de release van GNOME 46. Tijdens de tests is de responsiviteit van de interface gemeten in de terminalemulators Alacritty, Console (GTK 4), GNOME Terminal (GTK 3 en 4) en de VTE Test App (een voorbeeld uit de VTE-repository), uitgevoerd op Fedora 39 met GNOME 45 en op Fedora 40-beta met GNOME 46. De Alacritty-applicatie maakt geen gebruik van de VTE-bibliotheek en is gekozen als referentie, omdat het, op basis van eerdere tests, een van de snelste terminalemulators blijkt te zijn. Voor de metingen werd een hardware-sensor gebaseerd op de Teensy-module gebruikt, die de tijd tussen het indrukken van de knop en het verschijnen van informatie op het scherm meet.
De VTE-bibliotheek biedt een kant-en-klaar GTK-widget dat wordt gebruikt in verschillende terminalemulators voor GNOME, waaronder GNOME Terminal, Console, Black Box, Tilix, Terminator en Ptyxis. In versie GNOME 46 zijn de interne structuren van VTE aanzienlijk herzien, wat, volgens de ontwikkelaars, heeft geleid tot versnelling van de bewerkingen, waarbij de prestatiewinst in de tests tot 40% opliep. Praktisch gezien hebben de optimalisaties geleid tot een vermindering van de vertragingen bij het renderen in configuraties met GTK 4. Eerder waren de vertragingen bij toetsaanslagen in Console en GNOME Terminal merkbaar, wat veel gebruikers afschrikte om de standaard terminalemulators voor GNOME te gebruiken. Met de VTE 0.76-versie is dit probleem verholpen.
Onafhankelijke tests hebben een significante vermindering van de vertragingen bij het invoeren van gegevens in applicaties op basis van VTE bevestigd, wat niet alleen waarneembaar is in eenvoudige, maar ook in complexe gebruiksscenario's van terminals. Bijvoorbeeld, bij het gebruik van neovim zijn de invoervertragingen van terminalemulators op basis van VTE teruggebracht tot het niveau van de snelste terminal, Alacritty. In het specifieke testscenario waarbij het hulpprogramma 'cat' werd gebruikt, daalde de reactietijd op toetsaanslagen in Console en GNOME Terminal van 40 ms tot 12 ms, terwijl de scrolltest in neovim daalde van 45 ms tot 23 ms.



De verbetering van de prestaties bij het gebruik van de nieuwe versie van de VTE-bibliotheek is ook waargenomen in de testset vtebench, die niet de invoervertragingen meet, maar de leertijd van het PTY-apparaat en de parsingprestaties (tests van de scrollsnelheid en cursorverplaatsing). In de meeste tests overtreft de Alacritty-terminal de Console en GNOME Terminal, maar het tempo van de laatsten is nu minder uitgesproken dan voorheen. Een deel van de vertraging van GNOME Terminal kan worden toegeschreven aan overheadkosten voor ondersteuning van toegankelijkheidsfuncties.

Bron: opennet.ru
