GUIDE 05
Polling rate e limites da medição — Quão preciso é o seu recorde de CPS
Como o polling rate do mouse, o horário dos eventos no navegador, a repetição de tecla e a taxa de atualização do monitor afetam a medição de CPS, e quais são os limites.
O CPS medido na web não se baseia no “instante em que o dedo apertou o botão”, e sim no “instante em que o navegador recebeu o evento de entrada”. Entre um e outro há várias etapas, e cada uma adiciona um pequeno erro. Veja o que influencia e o que não influencia.
O caminho da entrada até a tela
- O switch é acionado e o firmware do mouse confirma o clique depois do debounce.
- O mouse informa o seu estado ao computador em intervalos fixos (polling).
- O sistema operacional recebe a entrada e a repassa ao navegador.
- O navegador cria o evento, marca o horário e o entrega ao script da página.
Polling rate
O polling rate é quantas vezes por segundo o mouse informa o seu estado. O intervalo entre relatórios é 1000 ÷ polling rate (ms).
| Polling rate | Intervalo entre relatórios |
|---|---|
| 125 Hz | 8 ms |
| 500 Hz | 2 ms |
| 1000 Hz | 1 ms |
Na contagem de cliques em si, o efeito é quase nulo. Mesmo clicando 20 vezes por segundo, o intervalo entre cliques é de 50 ms, bem maior que o intervalo de relatório de 125 Hz. Mas o horário de cada clique pode atrasar em unidades do intervalo de relatório, então a distribuição dos intervalos pode ficar borrada em alguns ms.
Precisão do horário no navegador
O CPS Meter usa o horário gravado no evento (event.timeStamp) e performance.now(). Por segurança, os navegadores às vezes reduzem de propósito a precisão desse horário, então o certo é ler os intervalos em unidades de alguns ms em vez de confiar nas casas decimais. Mesmo que a página esteja ocupada com uma tarefa pesada, o horário do evento se refere ao momento em que a entrada chegou, então nenhuma entrada deixa de ser contada.
A taxa de atualização do monitor não importa
Seja 60 Hz ou 240 Hz, a taxa de atualização da tela só muda a velocidade com que os números aparecem. A contagem das entradas acontece separada da atualização da tela, então o recorde não muda por causa disso.
Sem fio e Bluetooth
Em conexões sem fio, os relatórios às vezes chegam agrupados ou atrasados. A quantidade de cliques geralmente não muda, mas a distribuição dos intervalos pode ficar mais larga. Para comparar com precisão, compare resultados com o mesmo tipo de conexão.
Repetição de tecla
Quando você segura uma tecla do teclado, o sistema operacional gera entradas repetidas em intervalos fixos. O CPS Meter verifica a marcação de repetição do evento (KeyboardEvent.repeat) e, além disso, não conta como nova entrada se não houver registro de a tecla ter sido solta. Por isso, só segurar a tecla não aumenta o recorde.
Como o começo e o fim são tratados
- Começo: a primeira entrada inicia o cronômetro, então o tempo de reação fica de fora.
- Fim: entradas que chegam depois de o tempo definido ter passado exatamente são descartadas. Mesmo que o “Fim!” apareça na tela com atraso, a contagem segue o horário dos eventos.
- Saída: se você for para outra aba durante a medição, o navegador pode desacelerar o cronômetro, então a medição é cancelada.
Conclusão
Para medir várias vezes e observar a tendência, a medição pela web é suficiente. Diferenças na casa de 0.1 CPS podem surgir até do equipamento e da conexão, então compare várias vezes nas mesmas condições.