2 pontos por GN⁺ 2025-01-27 | 1 comentários | Compartilhar no WhatsApp
  • Em uma postagem de blog lida ontem, um usuário de Linux discutia reclamações sobre a latência de entrada no Wayland. Esse usuário descreveu uma experiência subjetiva, mas não conseguiu apresentar evidências claras.

  • O autor, como usuário de Wayland, compartilha a impressão de que a latência do cursor é maior do que no X11. Embora o experimento tenha ficado limitado a uma câmera de 90 FPS, o autor acredita que, usando uma câmera de 240 FPS, seria possível obter resultados mais claros.

Desenho do experimento

  • O autor apontou a câmera para a tela e para a mesa, incluindo o cursor do mouse e a mão no enquadramento, e gravou movimentos repetidos do mouse.
  • Foram feitas 16 gravações em cada uma das sessões Wayland e X11, e os arquivos de vídeo resultantes foram convertidos em uma sequência de JPEGs para contar os quadros desde o início do movimento do mouse até o quadro em que o cursor começou a se mover.

Detalhes do hardware

  • Distribuição: Fedora Workstation 41
  • Versão do GNOME: 47
  • CPU: AMD Ryzen 9 5950X
  • GPU: AMD Radeon RX 7900XT
  • Monitor: Gigabyte M32U (4k IPS @ 144.99, sem escalonamento de DPI)
  • Mouse: Logitech G502 Lightspeed
  • Câmera: iPhone 15 Pro, câmera lenta a 240 FPS

Limitações

  • 240 FPS ainda não é suficiente. Em uma tela de 144Hz, isso representa menos de dois quadros de câmera por atualização da tela.
  • Os pixels não mudam instantaneamente, então há quadros ambíguos em que o cursor mal começa a aparecer na nova posição.
  • A gravação de vídeo contém quadros duplicados. Eles foram interpretados como passagem de tempo e contabilizados normalmente.

Resultados

  • A latência média no GNOME X11 foi de 16.7ms, enquanto no Wayland foi de 23.2ms, mostrando que o Wayland apresenta cerca de 6.5ms a mais de latência do cursor do que o X11.
  • Não está claro se essa diferença é estatisticamente significativa, mas há uma diferença nítida e consistente.

Conclusão

  • Esses resultados demonstram que existe uma diferença de latência de entrada entre X11 e Wayland. São necessários testes adicionais com outros hardwares e taxas de atualização.
  • Este teste não prova que o Wayland tenha latência de entrada maior do que o X11 em jogos. É possível que a latência esteja limitada apenas ao cursor. Mais testes são necessários.

1 comentários

 
GN⁺ 2025-01-27
Opinião no Hacker News
  • Há quem diga que é importante projetar experimentos usando o método científico. Não se sabe o motivo da latência adicional do Wayland, mas também havia muitas reclamações sobre latência de tela nos primeiros tempos do X11. Como o Wayland é uma tecnologia mais nova que o X11, ele ainda não foi suficientemente examinado.

  • Explica como usar ffmpeg para obter o "tempo de apresentação" de cada frame de um vídeo. Também é possível fazer algo parecido no navegador, e talvez seja necessário reduzir .playbackRate se o computador não conseguir decodificar todos os frames com rapidez suficiente.

  • Em uma tela de 144Hz, o Wayland tem, em média, cerca de 6,5ms a mais de latência do cursor do que o X11. Isso equivale a quase 1 atualização de tela, e em um monitor de 60Hz isso pode chegar a 1/60 de segundo. A maioria das pessoas talvez não consiga explicar isso, mas consegue sentir a diferença.

  • Os resultados podem variar conforme o compositor, a GPU e a configuração. O X11 usa apenas uma implementação de servidor X, então essas diferenças são menores. Pode haver um problema em que muitas combinações de compositor/GPU não conseguem obter planos de cursor por hardware.

  • O Wayland já tem 16 anos, e daqui a alguns anos terá uma idade parecida com a que o X tinha quando surgiu. Ainda assim, há avaliações de que ele continua pior que o X.

  • Há quem diga que tentativas de tornar soluções existentes mais modernas e fáceis de manter nem sempre dão certo. Também há críticas de que a nova geração de desenvolvedores carece de conhecimento sobre desempenho e otimização.

  • Quando a GPU está sobrecarregada, ocorrem grandes picos de latência. Não foi feito um teste comparativo com o X11, mas antes esse problema não existia. O atraso adicional de frames já é ruim por si só, e os picos ocasionais de latência são muito irritantes.

  • Foi possível medir rapidamente no iPhone usando isitsnappy.com, confirmando uma latência de 100ms em um jogo de ritmo no Steam Deck quando conectado à TV.

  • Se o Wayland for sempre um frame mais lento que o X11, talvez valha a pena repetir o experimento configurando o monitor para uma taxa de atualização bem baixa.

  • Isso provavelmente varia conforme o compositor, e fica a dúvida se é um problema do mutter ou se também pode ser reproduzido no kwin.

  • Há quem diga que não tem conhecimento estatístico suficiente para analisar se a diferença é estatisticamente significativa. A estatística do teste t de duas amostras é -4,74, e o valor-p é 4,20e-05.