当我创建磁盘大小非常小的 PNG 文件时,我倾向于怀疑文件大小是否变得不如查看者解压缩图像所需的时间重要。从技术上讲,这也是微不足道的,但我已经想了很长时间了。我们都知道压缩率越高的 PNG 图片压缩时间越长,但解压时间是否越长?
我不知道这些信息是否会影响这个问题,但我想知道这与图标类型文件(它们很小,因为它们包含的像素很少)和巨大的艺术线条文件(它们很小,因为它们压缩了它们的像素非常有效)。
编辑:为了回应我得到的答案,我想指出这并不是严格的网络问题。Windows 用户可能不会注意到这一点,但桌面环境中使用的大多数图标都是以 PNG 压缩格式存储的,并且在系统启动时需要渲染数十个图标。我提到的巨大线条艺术主要是像http://simpledesktops.com/ 上的那些桌面壁纸,但各种海报、视频游戏资源和其他东西也适合这种描述。
压缩得更好的图像(即文件大小较小)通常比加载较大大小的相同图像花费的时间更少。
如果您想在保存 PNG 文件时最小化文件大小,则需要牺牲压缩文件所需的时间。
PNG 使用 DEFLATE 压缩图像数据(与 zlib 和 PKZIP 中使用的算法相同)。DEFLATE 节省空间的一种方法是通过仅提供游程长度和返回其先前出现在流中的位置的距离来对重复出现的字节序列进行编码。(例如A B C D E F A B C A B C D可以编码为A B C D E F [3,-6] [4,-9]。(也可以将其编码为A B C D E F [3,-6] [3,-3] D。)
压缩器必须使用算法来查找匹配序列,然后才能对它们进行编码。算法各不相同,但使用某些参数可以使许多算法更加努力或更快地运行。当算法更加努力地工作时,它可能会找到更多或更长的匹配,这通常会导致更好的压缩,但需要更长的时间才能完成。
相比之下,解压缩算法非常简单,不需要做太多工作 - 它只是以相当线性的方式解码流,并且不需要搜索匹配,因为它们是由压缩器提供的 - 它只是查找提供给它的长度/距离代码。
一般来说,读取的位数越少,PNG 解压缩的速度可能越快。
| 归档时间: |
|
| 查看次数: |
3200 次 |
| 最近记录: |