我试图谷歌寻求答案,但也许没有广泛可用的研究,或者我可能没有使用正确的术语。
基本上,我想知道打字时按键之间的平均时间。我想知道这个的原因是我正在进行模糊搜索,这将在下拉列表中使用。我们可以采取一些措施来提高结果的准确性,但这会导致速度变慢。但是,如果这样的速度仍然低于按键间时间的合理阈值,那么实施变更是有意义的。
任何帮助将不胜感激。
答案 0 :(得分:11)
这些在字符对之间会有所不同,也可能是打字速度的函数。例如,键入60 WPM(其中单词平均为五个字符)的人每分钟键入360个字符(其中包括单词之间的空格,但不包括标点符号)。这大约是每秒六个字符,这使我们的平均字符间时间为167毫秒。但是,这只是一个平均值,对于不同的字符组合,它会更高或更低。
答案 1 :(得分:7)
接近这个的另一种方法是考虑100ms阈值,该阈值是(大致)在用户主动注意到延迟之前可以经过的时间量。很明显,上下文的重要性与用户的期望一样重要,但在人们认为是即时的打字环境中,我猜这可能是你想要的那种数字。
这可能还取决于您是在谈论打断打字还是在谈论因打字而更新下拉列表之间的延迟。前者意味着您的目标需要更加激进,因为用户不会期望打字有任何延迟,但对于搜索结果,您可能会稍微延迟一段距离。
答案 2 :(得分:2)
一个疯狂的猜测是你在接口锁定时遇到问题,因为搜索需要一段时间。当用户停止输入时,您应该在后台搜索单独的线程,而不是尝试猜测延迟。搜索完成后,检查用户是否更改了搜索框中的值。如果值已更改,则取决于您的应用程序是否与呈现部分搜索结果相关或者您是否要等待新搜索。
如果搜索是本地搜索,则应配置不同搜索尝试之间的间隔,以便为搜索服务或本地计算机提供合理的最大负载。