人眼可以在图像加载时间内感知10毫秒的延迟

use*_*855 13 performance image

人眼可以感知需要150ms加载的图像和需要160ms下载的另一个图像之间的差异吗?如果一个页面有30-40个图像,那么这10ms的差异是否会开始产生影响?

Mus*_*sis 7

10毫秒可能几乎没有注意到.在刷新率为60 Hz的典型笔记本电脑上,每帧在屏幕上大约16-17 ms,因此(其他条件相同)10 ms延迟意味着大约66%的机会使图像显示一帧后来.

然而,1帧延迟(由此导致的最大延迟)很可能不会被大多数用户注意到.对于动画来说会非常明显,但在静态图像出现的时候却不是很明显.


Dav*_*pik 5

根据3D开发人员John Carmack的说法,“人的感觉系统可以检测到视觉或特别是音频区域中很小的相对延迟,但是当绝对延迟低于大约20毫秒时,通常是无法察觉的。”

就是说,20ms是一个很好的经验法则,尽管闪烁可能会更快。因此10ms(150 vs. 160ms)不应该被察觉。但是,您要询问用户是否会注意到150ms和160ms之间的差异。如果是一次事件(相对于某些东西以15或16 kHz闪烁),我看不到人们如何注意到差异。

如果人们仔细看并且没有缓冲,他们将看到加载30-40张图像。但是,网页还有很多其他事情。

  1. 网络加操作系统的延迟差异远远超过10毫秒,因此即使您正在与本地主机通信,您的150毫秒加载时间也会有所不同。
  2. 浏览器通常一次会打开多个连接,以更有效地加载文件。因此,文件似乎将同时加载或乱序加载。如果要注意的文件大小是一个以太网数据包的大小。如果完整的响应适合一个数据包(通常为1500个字节,包括数据包头),则将其缩小将不会提高性能。
  3. 浏览器可能会将图像显示延迟几毫秒,以最大程度地减少帧缓冲区(窗口)的重写。
  4. 浏览器需要解析CSS规则以显示图像。浏览器在完成CSS解析之前就开始加载图像,并且CSS解析可能比图像加载花费更长的时间。
  5. 如果您正在测试动画,则您对事件的了解和预期会使它看起来变慢。其他用户不会注意到您显而易见的事情。

长话短说,图像文件的大小可能是您最少的担心。如果很重要,请不要依赖启发式方法-自己进行测试。尽管Google的浏览器最关注延迟,但所有现代的网络浏览器都具有出色的计时工具。(不过,他们随时都可能会跳过。)

此外,还可以通过不同类型的Internet连接(局域网,1000英里,蜂窝网络)以及不同的浏览器和设备进行测试。 蜂窝网络特别奇怪,因为最初的网络连接需要很长时间,然后很快就会关闭。


Ste*_*ven 1

如果加载页面需要 150 毫秒,而图像需要 160 毫秒,则总共需要 310 毫秒。人眼每秒可以读取 10-12 个图像,或者大约每 100 毫秒读取 1 个图像。所以,是的,如果他们看得足够仔细的话,他们会注意到负载。