CPS-метр

GUIDE 05

Частота опроса и пределы точности — насколько точен ваш результат CPS

Как частота опроса мыши, время событий в браузере, автоповтор клавиш и частота обновления монитора влияют на замер CPS и где пределы его точности.

Веб-тест CPS отталкивается не от момента, когда палец нажал кнопку, а от момента, когда браузер получил событие ввода. Между ними несколько этапов, и на каждом появляется небольшая погрешность. Разберём, что влияет на результат, а что нет.

Путь нажатия до экрана

Частота опроса

Частота опроса — это сколько раз в секунду мышь сообщает о своём состоянии. Интервал между отчётами равен 1000 ÷ частота опроса (ms).

Частота опросаИнтервал отчётов
125 Hz8 ms
500 Hz2 ms
1000 Hz1 ms

На само число кликов она почти не влияет. Даже при 20 кликах в секунду интервал между ними составляет 50 ms — намного больше, чем интервал отчётов при 125 Hz. Однако время каждого клика может сдвигаться на величину интервала отчётов, поэтому распределение интервалов может размываться на несколько ms.

Точность времени в браузере

CPS-метр использует отметку времени события (event.timeStamp) и performance.now(). Браузеры из соображений безопасности иногда намеренно снижают точность этого времени, поэтому интервалы правильнее читать с точностью до нескольких ms, а не доверять знакам после точки. Даже если страница занята тяжёлой работой, время события отсчитывается от момента поступления ввода, поэтому нажатия не теряются.

Частота обновления монитора не важна

Будь то 60 Hz или 240 Hz, частота обновления экрана меняет только скорость отображения чисел. Нажатия считаются независимо от обновления экрана, так что результат от неё не зависит.

Беспроводные мыши и Bluetooth

При беспроводном подключении отчёты иногда приходят пачкой или с задержкой. Число кликов обычно не меняется, но распределение интервалов может стать шире. Для точного сравнения сравнивайте результаты с одинаковым типом подключения.

Автоповтор клавиш

Если удерживать клавишу, операционная система через равные промежутки генерирует повторные нажатия. CPS-метр проверяет у события признак повтора (KeyboardEvent.repeat) и, кроме того, не засчитывает новое нажатие, если перед ним клавиша не была отпущена. Поэтому простым удержанием результат не поднять.

Начало и конец замера

Вывод

Чтобы делать несколько замеров и следить за тенденцией, веб-измерения вполне достаточно. Разница порядка 0.1 CPS может возникать из-за устройства и подключения, поэтому сравнивайте несколько замеров в одинаковых условиях.

Проверить себя →