大多数图像格式已经被压缩。但是实际上,如果我拍摄一张图像并对其进行压缩(将其压缩),然后将压缩后的图像与未压缩的图像进行比较,即使没有太大差异,大小也会有所不同。

问题是:值得将图像压缩吗?刷新到客户端浏览器的内容大小会变小,但是将其解压缩时会有客户端开销。

评论

如果您的服务器瓶颈在网络上比在CPU上更近,请确定。否则,可能会有较低的挂果。

#1 楼

Google以最小化有效负载大小引用gzip和图像/二进制文件

不要将gzip用于图像或其他二进制文件。
网络支持的图像文件格式以及视频,PDF和其他二进制
格式已被压缩;在它们上使用gzip不会提供任何其他好处,实际上可以使它们变大。要压缩
图像,请参阅优化图像。


评论


favicon.ico是一个例外,值得一提。 ICO图像未压缩,因此gzip在它们上的表现非常好。

–一只猫
18年7月20日在13:06



#2 楼

这将取决于更重要的因素,客户端解压缩资源(时间,处理能力,内存等)或网络带宽。

示例1)您的客户端系统离服务器非常近(例如在本地网络上)或具有高速连接,但是它们的功耗很低(可能是资源有限的嵌入式系统)。您不希望有任何客户端开销(解压缩),并且可以轻松承担传输开销(几个字节在本地网络上的实际情况中没有区别)。

示例2)您的客户端都是功能非常强大的系统(例如,高于普通的办公室工作站),但是有成千上万的系统,并且您的服务器仅具有有限的带宽分配。在这种情况下,最终用户可以轻松负担这些开销,并且每个字节对服务器都很重要。用gzip压缩!

真实世界)用gzip压缩图像可能不太好。但是,如果您现实生活中期望有人会使用手机或其他低功耗系统,则现代系统可以负担得起处理费用。此外,您还设置了接收者无法解压缩的限制。大多数时候不应该是一个问题,但是为什么要限制任何人呢?节省的大小将是微不足道的,并且对于任何系统而言,处理开销都不会。节省的空间越大,您期望的处理器开销就越大,因此,通过任何普通类型的连接节省传输中的任何时间,都有机会在将gzip处理为可用的内容之前重新创建。 >
IMO最好的选择是研究更高的光影和替代图像格式。并非所有的JPEG都是一样的。例如:在photoshop中将图像另存为jpeg,然后将其“另存为Web和设备”另存为jpeg,在相同的质量设置下,文件大小应大不相同。此外,“另存为”选项提供了更多选项,用于微调质量和文件大小。也不要担心像GIF这样的更多“过时”格式。如果您的图像在GIF格式的限制内能很好地显示,则它可能会更小,并提供透明度等其他好处...

评论


感谢您的详细回复。我正在谈论的场景是一个场景,其中包含电子商务网站上数以百万计的现有图像(已部分优化)。显而易见,最高优先级是在客户端进行快速渲染,并且客户端的计算机具有中等功率且功耗较低。不能以其他格式保存[大量投资]。最好的解决方案是在这种情况下[现有图像很多],使用能够优化文件夹中所有jpeg文件的工具。您熟悉这样的工具吗?

–查理
11年1月27日在22:37

有一个免费的命令行实用程序jpegtran可以优化JPEG,它可以批量处理文件夹中的所有图像,因此值得研究。

–蒂姆喷泉
11年1月28日在11:46

#3 楼

不,实际上,这会使情况变得更糟。摘自Yahoo加速网站的最佳做法:

不应压缩图像和PDF文件,因为它们已经被压缩。尝试以gzip压缩它们
不仅浪费CPU,而且可能潜在地增加文件大小。