今天,我的同事注意到,当向进度指示器添加小数位时会导致程序运行速度比没有运行速度快。 (即代替1,2,3 ......它显示1,1.2,1.4,1.6 ......)我检查了一下,即使我知道它是伪造的,我也感到很惊讶。
这让我想知道:有什么其他的东西可以创造快速申请的印象?
当然,最好的方法是实际使应用程序更快,但从算法的角度来看,通常没有太多可以做的。此外,我认为让用户减少沮丧是一件好事,即使它或多或少是一种心理伎俩。
答案 0 :(得分:17)
这种效果可能非常显着:执行相对大量的工作以向用户提供正确且经常更新的进度状态当然可以减慢应用程序的实际运行时间(屏幕更新,进度显示所需的计算等)同时仍然让用户觉得花费的时间更少。
您可以在GUI中执行的一些操作:
答案 1 :(得分:9)
首先介绍一些中间的,有趣的结果。 “我们发现2,359个zetuyls符合您的要求,我们只是计算他们未来的价值”。
我见过交通预订系统做得很好。
答案 2 :(得分:8)
显示详细信息(例如在安装过程中复制的文件的名称)通常会使事情看起来更快,因为有持续的,明显的活动(而不是缓慢爬行的进度条)。
如果你的算法生成一个结果列表,并且你有一些方法可以在生成结果时显示结果(而不是最后一次显示结果),那么这样做 - 用户越早得到某些东西除了旋转器之外,还有更好看。
答案 3 :(得分:5)
当您的应用程序正在处理数据或等待结果时,允许用户执行其他操作。在应用程序范围内,您可以允许对搜索查询进行一些细化或收集信息以准备后续步骤。或者只是提供一些其他必要的“工作”或者只是提供一些提示,文档,统计数据,娱乐......
答案 4 :(得分:2)
使用其中一个动画进度条,即使它们没有进展也看起来像是在做什么。另外,正如peSHIr所说 - 打印你复制的每个文件名并快速更新它 - 你甚至可以通过循环一个大字符串数组N次来伪造它。
答案 5 :(得分:2)
我已经读到某个地方,如果这个过程似乎在加速,那么它似乎比它稳步前进的速度更快。我现在找不到引用,但实现起来应该很简单。
(10分钟后......)
进一步向下看谷歌车道出土了以下参考文献:
http://www.azarask.in/blog/post/hacking-memory/ http://blogs.msdn.com/time/
答案 6 :(得分:0)
这是一篇关于"Expressing time in your UI"和用户对时间的看法的文章。我不知道它是否正是你所期望的答案,但绝对值得一读。
答案 7 :(得分:-1)
在关键点添加线程睡眠。每次通过版本,减少延迟。