- VTE (Virtual TErminal library) é a biblioteca que serve de base para os emuladores de terminal do GNOME. Ela é usada em apps como GNOME Terminal, Console, Black Box, Tilix, Terminator e Ptyxis, além dos terminais embutidos do Builder e do Workbench.
- Durante o ciclo do GNOME 46, o desempenho do VTE melhorou bastante. Este texto mede o quanto o desempenho realmente evoluiu e que diferença o usuário pode perceber na prática.
O que foi medido e como
- Há várias formas de medir o desempenho de um emulador de terminal, mas este texto foca na latência de entrada (input latency).
- Latência de entrada é o tempo entre pressionar uma tecla no teclado e a mudança de cor dos pixels no monitor. Apps com baixa latência de entrada parecem mais responsivos, enquanto apps com latência alta podem parecer lentos.
- Para medir a latência de entrada, foi usado um testador de latência em hardware. Ele é composto por um sensor de luminosidade conectado a uma placa Teensy, ligada ao computador via USB.
Resultados do teste de latência de entrada
- Primeiro teste: criação de um campo de entrada com o comando
cat > /dev/null e medição do tempo até o cursor em bloco se mover uma célula para a direita ao pressionar a tecla Space
- Os terminais VTE melhoraram muito no Fedora 40 em relação ao Fedora 39, chegando a um nível quase equivalente ao do Alacritty
- Segundo teste: abertura de um arquivo README no neovim e medição durante a rolagem do buffer de texto com Ctrl+D e Ctrl+U
- Novamente, os terminais VTE do GNOME 46 mostraram grande melhora e ficaram em nível quase equivalente ao do Alacritty
- Na comparação de todos os terminais do Fedora 40 de uma vez, o teste com neovim mostrou aumento na latência de entrada em relação ao teste com
cat, mas esse aumento foi semelhante em todos os terminais
Resultados do teste vtebench
- Execução da suíte de testes vtebench do Alacritty no mesmo ambiente
- Trata-se de um teste que mede desempenho de leitura e parsing de PTY, além de ser útil para encontrar falhas no VTE
- O VTE do GNOME 46 também mostrou melhora no vtebench, mas ainda não no mesmo nível do Alacritty
Conclusão
- No GNOME 46, o desempenho do VTE melhorou muito, levando a latência de entrada a um nível quase igual ao dos terminais mais rápidos
- Se você vinha evitando terminais baseados em VTE por causa da resposta lenta e da latência de entrada, agora vale a pena testá-los novamente (recomendado usar VTE 0.76 ou superior)
Opinião do GN⁺
- A melhora de desempenho dos terminais baseados em VTE é muito animadora. Ela deve contribuir bastante para aprimorar a experiência do usuário.
- Foi interessante o uso de um testador em hardware para medir a latência de entrada. A explicação detalhada do processo de teste e da interpretação dos resultados também foi útil.
- Também seria interessante comparar com o Terminal.app, terminal padrão do macOS, e com o Windows Terminal, o novo terminal do Windows.
- Espera-se que as melhorias de desempenho do VTE tenham impacto positivo em todo o ecossistema GNOME. Ainda assim, parece haver espaço para avanços em alguns pontos, como acessibilidade e barra de rolagem.
- Para usuários de desktop Linux, é uma notícia muito bem-vinda. Fica a expectativa de que vários emuladores de terminal evoluam ainda mais com base nas melhorias do VTE.
1 comentários
Comentários do Hacker News
cat, e que seria interessante testar mais terminais, especialmente o console Linux nativo também