AVIF vs JPEG
两者都能存照片,但取舍不同。以下是它们真正的差别,以及该怎么选。
一句话结论
同等观感下,AVIF 大约是 JPEG 的一半体积。这是今天一个网站能拿到的最大一笔节省,代价是编码时间,外加给老 Safari 留一条回退。
这个问题从哪来
JPEG 的压缩方案 1992 年定稿。AVIF 源自 AV1 —— 一个 2018 年的视频编解码器,由一群带宽账单极其可观的公司做出来的。中间隔着三十年研究,而且不同于这类对比的惯例,新格式的优势不是边际性的 —— 接近两倍。所以有意思的问题不是「AVIF 是不是更好」,而是「采用它要付什么」。
逐项对比
| 属性 | AVIF | JPEG |
|---|---|---|
| 压缩方式 | 有损 | 有损 |
| 透明通道 | 支持 | 不支持 |
| 典型文件大小 | 约为同等 JPEG 的 40-55% | 约为同等 JPEG 的 100% |
| 兼容性 | 所有现代浏览器支持;部分老旧桌面软件尚未跟进 | 几乎所有软件都能打开,包括很老的程序 |
| 常见来源 | 为减小页面体积而优化的网站 | 数码相机与照片分享 |
真正的差别在哪
体积差距是真的,而且这就是重点
同等观感下,AVIF 通常落在 JPEG 的 40~55%。一个载着两 MB 照片的相册页,这相当于省回一 MB。和多数格式升级不同,这个收益不需要眯着眼看数字才能确认 —— 它在慢网络上直接体现为加载时间。
JPEG 明显翻车的渐变,AVIF 处理得住
JPEG 的 8×8 分块变换在平滑渐变上会产生色带 —— 晴空、影棚背景、暗调场景 —— 通常的补救是提高质量档位,而那会把体积优势还回去。AVIF 的变换在低得多的码率下就能压住大片平滑区域不出带。如果你的图是无缝背景上的产品照、或者天空占比很大的画面,这个差别比体积更显眼。
编码慢到会改变你的工作流
AVIF 编码要比 JPEG 多花一个数量级的 CPU。在浏览器工具里,这意味着大图会有肉眼可见的等待。在构建流水线里,这意味着图片步骤从几秒变成几分钟,你会需要加缓存让它只跑变更过的文件。解码是快的,所以这是**生产端**的成本,不是访客的成本。
该用哪个
这些情况用 AVIF
已经做好回退的网页分发,尤其是照片密集的页面 —— 把图片重量砍半往往是唯一一笔最大的性能收益。
这些情况用 JPEG
要交给别人的文件、任何必须无条件打得开的场合,以及编码时间吃不下十倍增长的流水线。
一个常见的坑
拿已有的 JPEG 转过去,拿不到完整的收益
把一张 JPEG 重编码成 AVIF,起点是已经过一轮有损压缩的数据,连同它的瑕疵一起。你确实会得到更小的文件,但 AVIF 此时花掉的码率是在保留 JPEG 的块状痕迹,而不是原始细节。干净的收益来自**从无损母版**直接编码 AVIF。如果你手上只有 JPEG,那就照转 —— 只是别拿基准测试的数字对照结果。