Как часто вам нужно опросить кнопки пользовательского интерфейса, прежде чем они будут восприниматься как лагги?

В то время как возможно, а иногда и желательно, использовать прерывания смены пальцев для считывания состояния кнопок, проще опросить состояние кнопок в цикле loop(). Это обычно используемая техника.

Если вы loop() выполняете достаточно быстро, то нажатия кнопок всегда будут пойманы, и пользователь не сможет распознать задержку или задержку.

Возможно, что ваш цикл займет столько времени, чтобы вызвать задержку или задержку.

Вопрос в том, как долго это будет, в общем, до того, как пользователь это увидит?

8 голосов | спросил Cybergibbons 26 MarpmWed, 26 Mar 2014 21:18:26 +04002014-03-26T21:18:26+04:0009 2014, 21:18:26

2 ответа


14

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

Согласно Яков Нильсен в своей книге Инструкция использования , с 1993 года, которая считается важной ссылкой на удобство использования и пользовательский опыт:

  
  • 0,1 секунды - это ограничение для того, чтобы пользователь почувствовал, что система реагирует мгновенно, а это означает, что никакой специальной обратной связи не требуется, кроме как для отображения результата.
  •   

Он также упоминает, что этот базовый совет относительно времени отклика был примерно таким же в течение многих десятилетий [Miller 1968; Card et al. 1991].

Я привел эту цитату из этой статьи: Время отклика: 3 важных предела , также написан Джейкобом Нильсеном.

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

Другие пороговые значения времени ответа, которые важны для пользовательского опыта, из одного источника, но которые не были указаны непосредственно OP:

  
  • 1.0 секунд - это ограничение для потока мысли пользователя, чтобы он оставался бесперебойным, даже если пользователь заметит задержку. Как правило, при задержках более 0,1, но менее 1,0 секунд, никакой специальной обратной связи не требуется, но пользователь действительно теряет чувство работы непосредственно на данных.

  •   
  • 10 секунд - это ограничение для того, чтобы внимание пользователя было сосредоточено на диалоге. Для более длительных задержек пользователи захотят выполнить другие задачи в ожидании завершения работы компьютера, поэтому им следует дать обратную связь, указывающую, когда компьютер ожидает выполнения. Обратная связь во время задержки особенно важна, если время ответа, вероятно, будет сильно изменяться, поскольку пользователи тогда не будут знать, чего ожидать.

  •   
ответил Ricardo 26 MarpmWed, 26 Mar 2014 21:39:33 +04002014-03-26T21:39:33+04:0009 2014, 21:39:33
3

Общеизвестно, что люди не могут воспринимать изменения, когда они происходят под 10 мс после их действия. Эта отзывчивость приведет к опыту, который в последнее время в основном описывается как «мгновенный». Это заметно, но для пользователей это сложно назвать на нем.

Итак, если вы хотите совершенства, возьмите около 15 мс задержки. Если вы хотите действительно хорошо, возьмите 100 мс задержки. 100 мс в среднем составляет 50 мс и, безусловно, будет проходить для людей.

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

Верхний предел для опроса составит около 1500 мс. Вокруг там люди всегда замечают, что это медленно.

Эти данные являются исключительно личным опытом в качестве геймера и программиста. YMMV и помните, что просто попробовать это самому - это лучший способ узнать, как он себя чувствует. Единственный «научный» ответ - это & ​​lt; 10 миллисекунд, кроме того, что речь идет о способности воспринимать задержку (которая меняется на человека и момент) и допуск пользователя.

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

ответил Lodewijk 27 MaramThu, 27 Mar 2014 04:49:59 +04002014-03-27T04:49:59+04:0004 2014, 04:49:59

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132