Среднее время между нажатиями клавиш - PullRequest
14 голосов
/ 04 ноября 2010

Я пытался найти ответы на эти вопросы в Google, но, возможно, нет широко доступных исследований, или, возможно, я не использую правильные термины.

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

Любая помощь будет принята с благодарностью.

Ответы [ 3 ]

11 голосов
/ 04 ноября 2010

Они будут варьироваться между парами символов и также будут зависеть от скорости набора текста.Например, человек, который набирает 60 WPM (где слова в среднем состоят из пяти символов), печатает 360 символов в минуту (что включает пробелы между словами, но исключает пунктуацию).Это примерно шесть символов в секунду, что дает нам среднее межсимвольное время 167 мс.Тем не менее, это просто среднее значение, оно будет выше или ниже для различных комбинаций символов.

8 голосов
/ 04 ноября 2010

Другой способ приблизиться к этому - рассмотреть пороговое значение 100 мс, которое (приблизительно) представляет собой время, которое может пройти до того, как пользователь активно заметит задержку. Ясно, что контекст важен так же, как и ожидания пользователей, но в контексте набора текста, который люди воспринимают как мгновенный, я бы предположил, что это, вероятно, тот номер, который вы хотите получить.

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

2 голосов
/ 04 ноября 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...