0

我正在为一个学校团体制作一个网站,该网站将有很多关于其活动的图片。我正在使用灯箱,因此图片将显示为幻灯片,并且我更改了图片的尺寸,因此幻灯片上的“当前”图片没有原始图片那么大。我仍然发现打开图片或转到下一张图片大约有 5 秒的延迟。我想知道是否有一种方法可以实现更快的加载时间,甚至是我没有考虑过的另一种方法。

我在我的网站上使用 xhtml、css 和 php。

4

2 回答 2

0

很抱歉回答,但我现在不能写评论......

我正在做其他方式,上传后,我将图片重新采样为大图片和缩略图。

当然,您可以每次都重新采样图片,但这可能是您必须等待这么长时间的原因,而且如果您同时有很多访客,服务器的工作量很大。

所以对我来说最好的说法是,大图像最大为640x480,然后上传后保存图片到这个大小,当然以相同的比例重新采样。

编辑:从您的帖子中,我不知道您是否在 HTML 中通过设置高度和宽度或在 PHP 中调整图像大小/重新采样,以及在哪里调整图像的大小以及频率。

于 2012-07-10T10:49:50.930 回答
0

假设您在服务器上有一张图片,其大小为 8000x6000。它的大小可能是 10 MB。

现在假设您想在网页中显示此图像并执行以下操作:

<img src="largeImage.jpg" width="800" height="600"/>

浏览器将下载大图像(10 MB),这需要很长时间,然后将其在内存中调整为 800x600 以显示在网页上(这会消耗内存和 CPU 时间)。总时间:25秒。

现在假设您将此图像调整为 800x600 并将此调整大小的图像放在服务器上。然后你显示图像

<img src="smallImage.jpg" width="800" height="600"/>

小图像看起来与访问您网页的用户相同,但浏览器只需要下载一个小图像,大小大约为 100 KB(比大图像小 100 倍)。下载图像所需的时间也将除以 100(0.25 秒),并且浏览器不必在内存中加载和调整巨大图像的大小(更少的内存,更少的 CPU 时间)。您的图像几乎立即可见。

有很多工具(我自己使用 Irfanview)可以拍摄大量图像并一次调整它们的大小。你应该这样做。

于 2012-07-10T15:27:14.267 回答