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

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

Тест просит 12 секунд движения мышью, потому что этого достаточно, чтобы проявился редкий всплеск, например драйвер, удерживающий ядро на 5 мс каждые несколько секунд, и достаточно мало, чтобы люди действительно доводили тест до конца. Движение должно быть твоим: частота мыши читается из потока сырого ввода.

Почему не 3 секунды или 30?

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

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

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

Почему мышью нужно двигать самому?

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

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

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

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

Автор — w0a, проект, который разрабатывает приложение. Статья публикуется только после того, как пройдут автоматические проверки сайта, а дата вверху — это день, когда её текст менялся в последний раз.

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

3 дня Pro — активируются прямо в приложении через Discord, без карты: Как работает бесплатный триал

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

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

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

Отправляется только то, что ты напишешь, вместе с названием этой страницы. Наш сервер также записывает IP-адрес подключения, чтобы ограничить злоупотребления, и удаляет его вместе с сообщением. Пожалуйста, не пользуйся этим полем, если тебе меньше 16 лет. Политика конфиденциальности

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