Snaplytics JS Tests

Teste de Latência do Mouse

Meça o quão responsivo é o clique do seu mouse. Cada clique recebe uma marcação de tempo duas vezes — uma pelo navegador, quando o evento é criado, e outra quando o manipulador desta página é executado — para mostrar o atraso na entrega do evento, enquanto testes rápidos de reação registram a rapidez com que você consegue clicar quando a área muda. Passe o mouse sobre a área para ver a taxa de eventos em tempo real recebida pelo navegador.

Pronto
Taxa de eventos
events/s
mova o mouse sobre a área
Evento → manipulador
ms
último clique

Clique para preparar um teste

Quando a área mudar, clique o mais rápido que puder. Cada clique também registra seu atraso entre evento e manipulador.

Melhor
Média
Último
Tentativas
0

Latência de clique recente

quanto menor, melhor
Seus testes de latência de clique aparecerão aqui

Como este teste funciona

Todo evento de ponteiro carrega um timeStamp definido no momento em que o navegador o criou. Quando seu clique chega ao manipulador, lemos performance.now() e subtraímos os dois valores para mostrar o atraso entre o evento e o manipulador — o tempo que seu clique passou percorrendo a pilha de entrada e o loop de eventos antes que esta página pudesse reagir. Separadamente, a área executa testes de reação: ela espera um intervalo aleatório, muda de estado e registra o intervalo entre essa mudança e o seu clique como uma medida de latência de clique que você pode comparar entre tentativas. O indicador em movimento conta quantos eventos de movimento do ponteiro chegam a cada segundo, o que reflete a frequência com que o navegador é informado de que o cursor se moveu.

O que causa a latência do mouse

  • Debounce do switch: o firmware espera alguns milissegundos após um clique para confirmar que o contato está estável, o que adiciona um pequeno atraso fixo a cada clique.
  • Taxa de polling: um mouse de 125 Hz reporta no máximo a cada 8 ms, um mouse de 1000 Hz a cada 1 ms; assim, uma taxa menor pode segurar um clique até o próximo relatório.
  • Conexão: o USB com fio é direto; o sem fio adiciona um salto de rádio, e conexões de 2,4 GHz com baixa potência ou congestionadas podem adicionar jitter, embora bons dongles modernos cheguem perto do desempenho com fio.
  • Escalonamento de USB e do sistema operacional: o host consulta o dispositivo em um cronograma, e o sistema operacional então precisa acordar, enfileirar e despachar o evento para o navegador.
  • Navegador e carga da página: uma thread principal ocupada ou uma página pesada podem atrasar o momento em que seu manipulador realmente é executado, que é exatamente o que a medida de evento-para-manipulador captura.

Latência do mouse x input lag x taxa de polling

Essas três métricas medem elos diferentes da mesma cadeia. A taxa de polling é a frequência, em hertz, com que o mouse reporta sua posição e o estado dos botões — o Testador de Taxa de Polling do Mouse a estima a partir do espaçamento dos eventos de movimento. A latência do mouse, medida aqui, é a rapidez com que um clique se transforma em um evento que a página consegue tratar. O input lag é o atraso completo de ponta a ponta, desde sua ação até uma mudança visível na tela, o que também inclui o tempo de resposta e a atualização do próprio monitor — o Testador de Input Lag cobre esse ciclo de reação mais exibição. Uma taxa de polling alta reduz uma das fontes da latência do mouse, mas a latência e o input lag de ponta a ponta também dependem do sistema operacional, do navegador e do seu monitor.

Como reduzir a latência do mouse

  • Use uma conexão com fio, ou um dongle de 2,4 GHz de qualidade e baixa latência posicionado perto do mouse, em vez de Bluetooth.
  • Aumente a taxa de polling no software do seu mouse (500 ou 1000 Hz) se o sensor e a conexão suportarem isso de forma estável.
  • Reduza o tempo de debounce do clique no software do fabricante, se essa opção existir, equilibrando isso com o risco de cliques duplos.
  • Mantenha drivers e firmware atualizados, e feche aplicativos em segundo plano que saturem a CPU ou o barramento USB.
  • Conecte o mouse diretamente ao computador, em vez de usar um hub sem alimentação própria ou uma extensão longa.

Ferramentas relacionadas