-2

这更像是一个理论问题。我目前正在一个网站上工作,所有图像都需要一段时间才能加载,浏览器会按块呈现它们。我的问题是为什么会发生这种情况?

该站点具有与我所面临的完全相同的行为:http: //lab2.ravelrumba.com/cssimages/test1/index5.html

4

1 回答 1

2

我想它与缓冲有关。图像可能非常大,并且大多数时候它们是压缩的,这意味着您的计算机必须先对图像进行解码,然后才能将其显示在屏幕上。

读取大文件时,您通常会分配一个缓冲区,这是您希望将未压缩数据流式传输到的内存区域。在此上下文中,您将加载图像的一部分,执行所需的处理,并继续执行此操作,直到完成图像文件的所有部分。在这里,看起来一旦图像的一部分被完全解码,它就会立即渲染,而在某些实现中,您通常会等到整个文件都被处理后才能将其可视化。

如果要分配更大的缓冲区,您会看到更大的块被渲染,但这会给系统内存带来更大的开销。

无论如何,这只是我的预感。

于 2015-05-27T12:06:34.837 回答