Почему тест просит 12 секунд движения мышью

Число не случайное. Вот что дают 12 секунд там, где не хватает трёх, и почему нужно твоё настоящее движение, а не синтетическое.

Короткий ответ

Двенадцать секунд — это достаточно долго, чтобы проявился редкий всплеск, и достаточно коротко, чтобы люди действительно доводили тест до конца.

Ответ подлиннее

Интересны не средние значения, а редкие события. Драйвер, который раз в несколько секунд удерживает ядро на 5 мс, — это ровно то, что даёт заметное подтормаживание и незаметный бенчмарк. Чтобы увидеть событие, случающееся раз в несколько секунд, окно измерения должно быть в несколько раз длиннее этого промежутка.

Три секунды поймали бы среднее и пропустили бы всплеск, то есть выдали бы чистый результат на машине с реальной проблемой. Это худшее, чем может закончиться измерение.

Тридцать секунд поймали бы больше. Но это была бы страница, которую легко бросить на середине, а брошенное измерение не измеряет ничего.

Почему движение должно быть твоим

Частота мыши берётся из потока сырого ввода (raw input): один отчёт на движение, ровно так, как их шлёт устройство. Нет движения — нет отчётов, измерять нечего.

Замерять обычные события мыши в Windows тоже не вышло бы. Они доставляются через очередь сообщений, которая объединяет их примерно до частоты самого интерфейса — через неё мышь на 1000 Гц и мышь на 125 Гц выглядят одинаково. Это реальная ошибка, которая у этой функции была, и чтение сырого ввода — её исправление.

Как сделать правильно

Похожие статьи

Из примерно дюжины этапов между кликом и сменой пикселя программе принадлежат три, остальное принадлежит прошивке, монитору и игре: Как уменьшить input lag в CS2 и других играх: что может программа, а что нет

w0a не меняет ни одной настройки Windows, пока ты не попросишь, а твик сохраняет старое значение, прежде чем записать новое. Сообщить мне

Эта страница помогла?

Чего не хватило или что не сработало? Мы читаем каждый такой ответ.

Если эта страница не решила проблему, напиши нам — скажи, какую статью ты читал, и мы её исправим.