26

今天,我的同事注意到,在进度指示器中添加小数位会导致程序运行得比没有时快的印象。(即不是 1,2,3... 它显示 1, 1.2, 1.4, 1.6, ...) 我检查了它,我很惊讶我得到了相同的印象,即使我知道它是伪造的。

这让我想知道:还有什么其他的东西可以创造快速应用程序的印象?

当然,最好的方法是让应用程序变得更快,但从算法的角度来看,您通常无能为力。此外,我认为让用户不那么沮丧是一件好事,尽管这或多或少是一种心理技巧。

4

8 回答 8

18

这种效果可能非常显着:做相对大量的工作来为用户提供正确且经常更新的进度状态当然会减慢应用程序的实际运行时间(屏幕更新、进度显示所需的计算等),同时仍然提供用户感觉它需要更少的时间。

您可以在 GUI 中执行的一些操作:

  • 确保您的应用程序保持响应(调整表单大小仍然可能,也许为操作提供取消按钮?),而后台处理正在进行
  • 在整个应用程序中显示状态消息/沙漏光标时非常一致
  • 如果您在操作期间有一些更新,请确保它经常更新(例如在安装过程中文件名和注册表项的几乎荒谬的显示),或者确保有一个选项可以为喜欢这种行为的用户执行此操作
于 2009-08-03T09:31:28.870 回答
9

首先展示一些中间的、有趣的结果。“我们找到了 2,359 个符合您要求的 zetuyl,我们只是在计算它们的未来价值”。

我已经看到交通预订系统很好地完成了这类事情。

于 2009-08-03T09:24:05.287 回答
8

显示详细信息(例如在安装过程中复制的文件的名称)通常会使事情看起来进展得更快,因为存在持续的、明显的活动(而不是缓慢爬行的进度条)。

如果您的算法能够生成结果列表,并且您可以通过某种方式在生成结果时显示结果(而不是在最后一次全部显示),那么这样做 - 用户越早看到其他内容除了微调器,更好。

于 2009-08-03T09:25:42.193 回答
5

允许用户在您的应用程序处理数据或等待结果时执行其他操作。在应用程序范围内,您可以允许对搜索查询进行一些细化或收集信息以准备下一步。或者只是提出一些其他必要的“工作”,或者只是一些提示、文档、统计数据、娱乐......

于 2009-08-03T09:32:14.767 回答
2

使用其中一个动画进度条,即使它们没有进展,它们也看起来像是在做某事。此外,正如 peSHIr 所说 - 打印您复制的每个文件名并快速更新它 - 您甚至可以通过每秒循环 N 次大型字符串数组来伪造它。

于 2009-08-03T09:34:53.917 回答
2

我在某处读到,如果这个过程似乎正在加速,它似乎比它以稳定的速度进展时更快。我现在找不到参考,但它应该很容易实现。

(10分钟后...)

进一步查看 Google 车道发现了以下参考资料:

http://www.azarask.in/blog/post/hacking-memory/ http://blogs.msdn.com/time/

于 2009-08-03T19:46:13.867 回答
0

Here is an article about "Expressing time in your UI" and user perception of time. I do not know if it is exactly what you expect as an answer, but it is definitely worth the read.

于 2009-08-12T13:40:02.250 回答
-1

在关键点添加线程休眠。对于每个通过的版本,减少延迟。

于 2009-08-03T19:55:01.290 回答