Performance 如何先加载低质量的图像,以便更快地下载网站?

Performance 如何先加载低质量的图像,以便更快地下载网站?,performance,optimization,image-optimization,Performance,Optimization,Image Optimization,我正在开发Asp.net MVC3 web应用程序。我有一个appx页面。使用total appx加载了100个不同大小的图像。大小为1.5MB 我将致力于将这100个图像分发给多个主机名,以便以后更快地加载。但现在我需要你们的帮助来优化图像的加载速度。我真的不能用雪碧拍这些照片 我特别感兴趣的是实现一些东西,可以在第一次加载时加载降级的图像,然后随着越来越多的字节被下载,逐渐提高图像质量。所以基本上它会先加载低质量的图像,然后下载更多的字节,图像质量就会提高 更新: 我看过几个网站,它们的图片

我正在开发Asp.net MVC3 web应用程序。我有一个appx页面。使用total appx加载了100个不同大小的图像。大小为1.5MB

我将致力于将这100个图像分发给多个主机名,以便以后更快地加载。但现在我需要你们的帮助来优化图像的加载速度。我真的不能用雪碧拍这些照片

我特别感兴趣的是实现一些东西,可以在第一次加载时加载降级的图像,然后随着越来越多的字节被下载,逐渐提高图像质量。所以基本上它会先加载低质量的图像,然后下载更多的字节,图像质量就会提高

更新: 我看过几个网站,它们的图片被优雅地加载,这意味着一开始它看起来很粗糙,随着时间的推移,它们的质量会随着下载的深入而提高


他们是如何做到的?

早在拨号时代,我们使用
IMG
标记的
LOWSRC
属性来指向最终图像的低颜色GIF版本。你仍然可以使用它

<IMG HEIGHT="212" WIDTH="300" ALT="Phydueaux the Cat" SRC="cat.gif" LOWSRC="bwcat.gif">


请参阅:

假设图像是JPEG格式,您可以使用隔行扫描,但我不确定是否会麻烦您,我更倾向于确保图像得到适当优化,并使用正确数量的主机名从中加载

如果你想优化JPEG,jpegmini.com可能是目前最好的优化工具

我会在几个主机名上对图像进行切分(选择正确的号码会很有趣,我听说六个对一些人来说是最佳的,但是YMMV,如果你使用keep alive,那么使用这么多域名可能实际上是不好的)

使用主机名时,要确保前六个(?)映像来自第一个主机,后六个映像来自下一个主机等,直到用完所有主机名,然后再从第一个主机开始。(选择六个,因为这通常是浏览器维护的并行连接数,因此根据访问者使用的浏览器,您可能希望使用四个)


目标应该是逐步呈现页面,使顶部的内容在折叠下面的内容之前可见。

因此实际上是两个图像,在单个图像上执行该操作如何?看看这个问题,我刚刚更新了它。这叫做“交错”,你必须以一种特殊的格式保存所有的图像才能工作。