Beoordeling van de impact van optimalisaties in GNOME 46 op de prestaties van terminalemulators

De resultaten zijn gepubliceerd van het testen van de effectiviteit van optimalisaties die zijn toegevoegd aan de VTE-bibliotheek (Virtual TERminal-bibliotheek) en opgenomen in de release van GNOME 46. Tijdens het testen werd de responsiviteit van de interface gemeten in de terminalemulators Alacritty, Console (GTK 4) , GNOME Terminal (GTK 3 en 4) en VTE Test App (voorbeeld uit de VTE-repository), wanneer het draait op Fedora 39 met GNOME 45 en Fedora 40-bèta met GNOME 46. De Alacritty-applicatie gebruikt de VTE-bibliotheek niet en werd gekozen als referentie, omdat het, afgaande op eerdere tests, een van de snelste terminalemulators is. Voor de meting is gebruik gemaakt van een hardwaresensor op basis van het Teensy-bord, die de tijd meet tussen het indrukken van een knop en het verschijnen van informatie op het scherm.

De VTE-bibliotheek biedt een kant-en-klare GTK-widget die wordt gebruikt in verschillende terminalemulators voor GNOME, waaronder GNOME Terminal, Console, Black Box, Tilix, Terminator en Ptyxis. In versie GNOME 46 heeft VTE de interne structuren aanzienlijk opnieuw ontworpen, wat volgens de ontwikkelaars leidde tot snellere bewerkingen, waarvan de prestatieverbetering in tests 40% bereikte. Aan de praktische kant hebben optimalisaties geleid tot een vermindering van de weergavevertragingen in configuraties met GTK 4. Voorheen waren toetsenbordinvoervertragingen in Console en GNOME Termina merkbaar, wat veel gebruikers ervan weerhield standaard terminalemulators voor GNOME te gebruiken. Met VTE 0.76 is dit probleem opgelost.

Onafhankelijke tests hebben een merkbare vermindering van de gegevensinvoerlatentie in op VTE gebaseerde toepassingen bevestigd, wat niet alleen wordt waargenomen in eenvoudige maar ook in complexe terminalgebruiksscenario's. Bij gebruik van neovim werden de invoerlatenties van op VTE gebaseerde terminalemulators bijvoorbeeld teruggebracht tot het niveau van de snelste Alacritty-terminal. In het bijzonder nam in de test die verband hield met het gebruik van het "cat" -hulpprogramma de reactie op toetsaanslagen in Console en GNOME Terminal af tot 40 tot 12 ms, en in de scrolltest in neovim - van 45 naar 23 ms.

Beoordeling van de impact van optimalisaties in GNOME 46 op de prestaties van terminalemulators
Beoordeling van de impact van optimalisaties in GNOME 46 op de prestaties van terminalemulators
Beoordeling van de impact van optimalisaties in GNOME 46 op de prestaties van terminalemulators

De snelheid bij het gebruik van de nieuwe versie van de VTE-bibliotheek wordt ook opgemerkt in de vtebench-testsuite, die geen invoervertraging meet, maar de leestijd van het PTY-apparaat en de parseerprestaties (scrollsnelheid en cursorbewegingstests). Tegelijkertijd presteert de Alacritty-terminal in de meeste vtebench-tests beter dan Console en GNOME Terminal, maar de vertraging ten opzichte van laatstgenoemde is niet zo uitgesproken als voorheen. Een deel van de vertraging van GNOME Terminal is te wijten aan de overhead van het ondersteunen van toegankelijkheidsfuncties.

Beoordeling van de impact van optimalisaties in GNOME 46 op de prestaties van terminalemulators


Bron: opennet.ru

Voeg een reactie