下载速度
用户在做是进行下去还是退回的决定时,主要考虑三种速度的整体效果。好的设计者需要找到平衡这三者的方法,进而产生理想的下载:从用户点击请求到下一页出现只是一眨眼的瞬间。
记住:用户的忍耐期限在存取页面的第一秒就结束了,而不是在页面完成渲染时。就用户经验来说,确定渲染时间是很有学问的。我有一辆老车,我不在乎它的外观和声响。我想要的只是能用钥匙打开车,加油,能开走。我的一位有钱的朋友有一辆Saab车,只用一分钟就能达到颠峰速度。我的车要20分钟预热,但是我无所谓-引擎点着火时我用脚踩加速器,我只要驾驶就够了,加速的事让车自己去考虑吧!
我用搅拌器轮子的例子说明实际速度与感觉到的速度的重要区别。知道页面要有一定时间渲染用户才能看到,设计者可以从布局的观点出发创建成功的页面。当浏览器窗口一片灰色,什么也不做时,只要用户不问:“喂,到底页面有多大?”,那么页面还在工作。
我要向你展示我是如何增加页面的可感觉的尺寸的。我保持图形和图像的尺寸到最小。但是,不是简单地减少图像的颜色数,而是非常注意颜色的安排。
第一页:在一行里不要放入所有颜色GIF只是颜色的列表。如果一个GIF文件有10个像素高,颜色列表就有10行。如果第一行是100个白色像素,GIF格式通过写一次“白”,然后加一条这种颜色再重复99次的注释。这种方法应在每一行中使用,所以如果第二行是粉红色,第三行是兰色都没有关系。换句话说,一行一行地重复白色并不能减少文件大小。实际上,在一行上有大量颜色的变化。假如第一行在黑和白之间不断交替- GIF格式不会通过加注释来减少文件大小-它只是记住白、黑、白、黑,等等。另外,黑白相间的行在一英尺外看只是灰色。当你沿着水平方向改变颜色时,尽量使用更多的相同颜色的片段:20个白色像素,然后是20个粉红色像素,然后是20个兰色的,20个红色的,20个绿色的,这样颜色的索引将是#FFFFFF*20、#FF00FF*20、#0000FF*20、#FF0000*20、#00FF00*20,这样可以把文件压缩得更小。
记住:通过使用HTML的HEIGHI和WIDTH标记简单地放大图像不会增加速度。一个1*1的兰色矩形很小,传输也比100*100的矩形快。但是把一个兰色像素扩展到100*100的矩形,最后却是一个24位的100*100的图像。GIF压缩只趋向于减少存储空间和传输速度。一旦浏览器的渲染引擎解压你的图像并显示到屏幕上,处理实际图像的时间和缩放到相同尺寸的时间差不多。在使用每一个技巧时看看它是否节省时间。
第二页:全是文本,尽可能用文本而不用图形,但是我的观点更极端:我认为应对每个使用GIF显示文本的设计者罚款15美圆。用户花钱上网,很慢的下载和渲染速度意味着时间和金钱的损失。设计者应为选择最适合文本意义的字体而骄傲。因为用户的计算机上不存在“灰姑娘的水晶鞋”这样的字体。(有多少人的机器上安装了Wiese字体?)-这样GIF格式的文本就产生了。如果你用图像表示文字只是保持字型的一致或控制字型大小和间隔,对于你的页面来说没有任何意义。所以别这样做。
要真正地减少下载时间,把渲染留给用户的操作系统。如今,浏览器通过解释HTML文档来渲染页面依赖于操作系统。利用用户的计算机产生神奇的字体或形状是最有效地利用带宽和处理器的最有效方法-把信息包含在GIF图像中是一种资源的浪费。用HTML定义矩形(table or layer),用ASCII表示文字,把字体留给操作系统,给每种颜色一个十六进制的值(例如#FF0000代表红色)。
此时,我们还不能画圆,我们只有Times, Courier和Helvetical/Arial几种字型可用。但是用好这几种字型是我们设计快速页面的关键。对于复杂的多边形,漂亮的字体和照片,只好用GIFJPEG图形来牺牲下载时间了。