响应问题(蛮有意思的一篇文章)
上一篇 / 下一篇 2007-08-31 12:55:48 / 个人分类:资料
先说个故事,某大楼里的职员抱怨电梯的响应速度太慢,物业就请来电梯公司派人来解决这个,电梯公司派出一个研究员,这个研究员在大楼里转了两天,最后给出了一个很低成本很快速的解决方案,实施之后抱怨消失了。解决方案就是,在电梯间里安装一面镜子。
#b8n8D)c d&Ju051Testing软件测试网+{$~eTuj$@:D }
这是《GUI设计禁忌》里面的一个故事,这个故事揭示了两个问题:1、用户对响应很关注;2、解决响应问题不一定要真的提高性能。
2l!GdS W0
X Df3p-he3k-n{:aR{0在DMMT里面,人机界面都是静态的,界面和界面之间的切换似乎也不需要时间,所以DMMT也就没有遇到“响应问题”。实际的情况是,CPU、硬盘、内存、显卡、网络传输等环节加起来,计算机很难做到实时响应,如果考虑到用户可能在使用某个界面的时候,还在BT下载、听音乐、杀毒,实时响应就更没影了。
;c,h1Kg e&Z+e[~0
:f
xL'V3R+QO
\\%J0从用户这边看过来,用户希望在人机界面0.1秒(实际上人对连续动画的感知大概是0.065秒)之内给于正确的手眼互动反馈(键盘输入、鼠标指针的、窗口的移动、按钮被点击的响应等),在1秒(对话舒适间隔的最大值,为了让对话舒适的继续,这个时间点其中一方一定要说点什么)之内完成用户请求的操作(比如弹出对话框),在10秒(在这个时间单位里,人们经常会放弃或者中断一个大任务的执行)之内完成一个复杂任务中的第一步。51Testing软件测试网@R$O_|I#Rq\%Wi,t
h.]|y6|0提高响应的四类技巧:51Testing软件测试网/L3b/Qy%W
Lj5O6W6B$[?
一、及时反馈
Z,xD"t(G d.I!mt0j^0·立即确认用户的输入(0.1秒之内确认,先确认后执行)51Testing软件测试网8IB${:nC6G
·操做时间大于1秒时提供忙指示器或进度条指示器51Testing软件测试网G!xQO*k
·首先显示重要的信息(渐进式现实)
+hmU` u$QD5]0c0·虚拟高负荷的计算环境进行测试
)r v#n(?s051Testing软件测试网!x1Ym]VQ)G
二、并行处理
mv+D9N"`.Z@-\3]0·将工作延迟,直到有时间/资源来执行
0Jq-a
w"[f0·尽可能超前工作
+Y{c+}*K.s051Testing软件测试网qCu
J,|2_$h
三、队列优化51Testing软件测试网a9d)|0I6j/TI
·为提高效率重拍输入队列
m
@,V,F|/W+g H%{?0·清除不再需要执行的任务51Testing软件测试网9s3t
g_+U1{F
wV7],IaTJ
Q0四、动态时间管理51Testing软件测试网7b
[ ^"I7\Xo8Yj"X
·监测任务队列,在严重滞后于用户命令时调整策略或方法
,I1z!DlgoOIk;U0·监测时间进度,必须要可降低质量或者数量赶上进度
;J g:{C
g`0eB0·预测完成时间,决定如何去执行任务51Testing软件测试网Ye
Uq8WrUb
·预测时间进度,与用户协商服务质量或决定是否还要进行此任务51Testing软件测试网1?kL&R.^'P/~
51Testing软件测试网5l1n5E"zBjC6F
响应的重要性并没有广为人知,DMMT也对其采取了忽视的态度,这导致了一个结果就是我和cobalt给糗事百科加上点击动画的时候大家眼睛一亮(很遗憾这个动画效果由于js的兼容问题暂时被去掉了)。随着webapp的大潮,web界面中的响应问题将越来越凸显,再次推荐《GUI设计禁忌》这本书。51Testing软件测试网*c'Ni7l!B
;TU,cA*W2`y0原文地址:
|x;l2};hYEY0http://2simple.cn/2007/05/blog-post_08.htm