Medição de latência no Linux: X11, Wayland, VRR e DXVK

Medição de latência no Linux: X11, Wayland, VRR e DXVK

O autor construiu um dispositivo com fotodiodo para medir a latência completa entre o clique do mouse e a alteração da imagem na tela — a chamada latência click-to-photon. Foram realizados 300 cliques por configuração, usando CachyOS, KDE Plasma, uma RTX 4070 Super e um monitor de 500 Hz.

Os principais resultados foram:

  • X11 apresentou latência ligeiramente menor que o Wayland nativo, mas a diferença ficou entre apenas 0,14 e 0,22 ms. Portanto, os testes não confirmam a ideia de que o Wayland nativo seja muito mais lento que o X11.

  • O VRR — FreeSync/G-Sync — produziu o benefício mais consistente, reduzindo a latência entre 0,26 e 0,45 ms e também diminuindo a variação entre os resultados.

  • O DXVK Low Latency reduziu entre 0,10 e 0,29 ms nos testes com FPS limitado. Sem limite de FPS, a redução chegou a 0,84 ms, ao custo de uma pequena queda na taxa de quadros.

  • O grande problema foi o XWayland. Sem o DXVK Low Latency, ele acrescentou 3,13 ms em comparação com o Wayland nativo — mais que todas as outras diferenças medidas somadas.

A conclusão é que, nesse sistema, X11 ainda vence por uma margem mínima, mas o Wayland nativo já está muito próximo. Para jogos, é mais importante ativar o VRR, usar um limitador ou controlador de quadros adequado e, sempre que possível, evitar que o jogo passe pelo XWayland.

O autor ressalta que os testes foram feitos em condições quase ideais, com cena estática, FPS estável e o jogo limitado pela CPU. Os valores absolutos podem mudar em outros computadores, monitores e compositores, mas as diferenças relativas ajudam a separar otimizações reais de simples placebo.

Técnicamente falando, isso deveria ser um não-problema em tela cheia.

Jogos que podem funcionar em tela cheia, na prática não precisam de um compositor, poderiam renderizar diretamente via DRM/KMS, agora como isso está no mundo real, ai já não sei ao certo, faz algum tempo que não acompanho como a industria no geral decidiu resolver isso no Linux.

O que eu lembro é que provavelmente, em casos como o Steam Deck, um compositor wayland ultra-leve é usado para jogos, o gamescope. E dai já não sei de fato o que foi medido, já que a latência definitivamente deve mudar dependendo da implementação (Wayland é meramente uma especificação).