Avaliando o impacto das otimizações no GNOME 46 no desempenho de emuladores de terminal

Foram publicados os resultados dos testes de eficácia das otimizações adicionadas à biblioteca VTE (biblioteca Virtual TERminal) e incluídas na versão GNOME 46. Durante os testes, a capacidade de resposta da interface foi medida nos emuladores de terminal Alacritty, Console (GTK 4) , Terminal GNOME (GTK 3 e 4) e VTE Test App (exemplo do repositório VTE), ao rodar no Fedora 39 com GNOME 45 e Fedora 40-beta com GNOME 46. O aplicativo Alacritty não utiliza a biblioteca VTE e foi escolhido como referência, pois, a julgar pelos testes anteriores, é um dos emuladores de terminal mais rápidos. Para a medição foi utilizado um sensor de hardware baseado na placa Teensy, que mede o tempo entre o pressionamento de um botão e o aparecimento da informação na tela.

A biblioteca VTE fornece um widget GTK pronto para uso em vários emuladores de terminal para GNOME, incluindo Terminal GNOME, Console, Black Box, Tilix, Terminator e Ptyxis. Na versão GNOME 46, a VTE redesenhou significativamente as estruturas internas, o que, segundo os desenvolvedores, levou a operações mais rápidas, cujo aumento de desempenho chegou a 40% nos testes. Do lado prático, as otimizações levaram a uma redução nos atrasos de renderização nas configurações com GTK 4. Anteriormente, os atrasos de entrada do teclado no Console e no GNOME Termina eram perceptíveis, o que desencorajava muitos usuários de usar emuladores de terminal padrão para GNOME. Com o VTE 0.76 esse problema foi resolvido.

Testes independentes confirmaram uma redução notável na latência de entrada de dados em aplicações baseadas em VTE, que é observada não apenas em cenários de uso de terminais simples, mas também complexos. Por exemplo, ao usar o neovim, as latências de entrada dos emuladores de terminal baseados em VTE foram reduzidas ao nível do terminal Alacritty mais rápido. Em particular, no teste associado ao uso do utilitário “cat”, a resposta ao pressionamento de teclas no Console e no Terminal GNOME diminuiu para 40 a 12 ms, e no teste de rolagem no neovim - de 45 para 23 ms.

Avaliando o impacto das otimizações no GNOME 46 no desempenho de emuladores de terminal
Avaliando o impacto das otimizações no GNOME 46 no desempenho de emuladores de terminal
Avaliando o impacto das otimizações no GNOME 46 no desempenho de emuladores de terminal

A aceleração ao usar a nova versão da biblioteca VTE também é observada no conjunto de testes vtebench, que não mede o atraso de entrada, mas sim o tempo de leitura do dispositivo PTY e o desempenho de análise (testes de velocidade de rolagem e movimento do cursor). Ao mesmo tempo, na maioria dos testes vtebench, o terminal Alacritty supera o Console e o Terminal GNOME, mas a defasagem em relação ao último não é tão pronunciada como antes. Parte do atraso do Terminal GNOME se deve à sobrecarga de suporte aos recursos de acessibilidade.

Avaliando o impacto das otimizações no GNOME 46 no desempenho de emuladores de terminal


Fonte: opennet.ru

Adicionar um comentário