максимальное время отклика при нажатии клавиш - PullRequest
1 голос
/ 25 июня 2010

Я работаю в компании, которая разрабатывает психологические тесты.Один из этих тестов измеряет время реакции кандидата.

Кто-нибудь имеет представление о максимальной задержке между нажатием клавиши и временем, когда доступно это событие?Каковы зависимости?Есть ли гарантированное максимальное время ответа?Я читал что-то около 5 - 25 мс.Каков наилучший способ обработки ключевых событий с минимальной задержкой?

Заранее спасибо, Кевин

1 Ответ

2 голосов
/ 25 июня 2010

Обработка пользовательского интерфейса Windows очень сложна. Он включает в себя такие алгоритмы, как повышение приоритета при нажатии клавиш, но обычно он ожидает до следующего тиклета планировщика (в худшем случае, 30 мс в настольных системах и 60 мс в серверных системах), если другой процесс запрашивает полный цикл ЦП,

Чтобы преодолеть это, вам понадобится специальный драйвер клавиатуры, который будет обеспечивать событие с той же задержкой, но также измерять точное время. Точное измерение времени возможно в системах Windows, если динамическое переключение часов ЦП отключено (запись Lookup QueryPerformanceCounter (), вам необходимо знать, как вызывать его из DDK), и в этом случае событие клавиатуры будет по-прежнему иметь непредсказуемую задержку, исходное событие автобуса будет иметь правильную отметку времени. Тогда вы остаетесь только с задержкой шины, которая должна быть меньше стандартного отклонения ваших измерений. См. Также Что происходит с момента нажатия клавиши на клавиатуре, пока она не появится в вашем текстовом документе

...