gziping图像值得小尺寸减小但开销压缩和解压缩吗?


37

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

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


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

Answers:


29

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

不要将gzip用于图像或其他二进制文件。

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


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

7

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

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

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

现实世界)您可能最好不压缩图像。但是,如果您现实生活中期望有人会使用手机或其他低功耗系统,则现代系统可以负担得起处理费用。此外,您还设置了接收者无法解压缩的限制。大多数时候不应该是一个问题,但是为什么要限制任何人呢?节省的空间将是微不足道的,并且任何系统的处理开销都不会。节省的大小越大,您期望的处理器开销就越大,因此,通过任何普通类型的连接节省传输中的任何时间,都有机会在将gzip处理为可用的内容之前重新创建。

IMO最好的选择是研究更高的光影和替代图像格式。并非所有的JPEG都是一样的。例如:在photoshop中将图像另存为jpeg,然后将其“另存为Web和设备”另存为jpeg,在相同的质量设置下,文件大小应该大不相同。另外,“另存为”选项提供了更多选项,用于微调质量和文件大小。也不要担心像GIF这样的更多“过时”格式。如果您的图像在GIF格式的限制内能很好地显示,则可能会更小,并提供诸如透明性之类的额外好处。


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

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

6

不,实际上,这会使情况变得更糟。摘自Yahoo 加快网站建设最佳实践

图片和PDF文件不应压缩,因为它们已经被压缩。尝试对它们进行gzip压缩不仅浪费CPU,而且可能会增加文件大小。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.