← 返回 Siami 首頁

Chrome 工程師實測:JPEG XL 已全平台落地,但 AVIF 仍是網頁圖片的首選

▲ 165 💬 129
Chrome 工程師實測:JPEG XL 已全平台落地,但 AVIF 仍是網頁圖片的首選

編按:本文綜合整理自 Jake Archibald 原文 與 Mozilla Hacks 的技術分析,並加入 Siami 編輯部觀點與數據解讀。

背景:JPEG XL 終於全平台落地

JPEG XL(JXL)在 Chrome、Firefox、Safari 三大瀏覽器全部支援之後,Google Chrome 工程師 Jake Archibald 親自做了一輪完整的基準測試,把這個延宕多年的下一代圖片格式和已經站穩腳步的 AVIF 攤開來比。結論出乎不少開發者意料:對絕大多數網頁場景,AVIF 仍然是更小的選擇——尤其在截圖、插畫、含透明通道的影像上,AVIF 的領先幅度相當可觀。

這場測試的時機很關鍵。Chrome 在 155 版把 JXL 加回來(一度被 Google 從 Chrome 中移除),Safari 與 Firefox 早已內建支援,整個生態看似到位。但「支援」跟「實用」是兩件事——本文就是要把這層落差講清楚。


七大結論一次看

Archibald 把所有測試結果濃縮成七個明確的結論,每一個都附帶實際測試資料佐證:

  1. 網頁失真照片,AVIF 幾乎一定更小。在預設 effort 下,最佳 JXL 版本通常比 AVIF 大 15–25%;拉到最大 effort,差距縮小到 6–20%。但有少數離群值(例如那張黃鼠狼圖)JXL 可以逼近甚至超越 AVIF。
  2. JXL 編碼器品質落差很大。新的 jixel 編碼器在大多數情境下比官方 libjxl 還小,唯一例外是含透明通道的圖。
  3. 截圖和插畫,AVIF 完勝。等效的 JXL 在預設 effort 下大 30–90%,最大 effort 還是大 20–70%。Lossy AVIF 對這類素材處理得夠好,不需要為了 bit-exact 而用 lossless。
  4. 含透明通道的圖,AVIF 也明顯勝出。libjxl 版本大 31–44%(預設)/ 61–70%(最大 effort),jixel 因為強制 lossless 透明通道,檔案甚至是 AVIF 的 2–3 倍。
  5. 編碼速度與記憶體 AVIF 整體佔優。jixel 雖然比 AVIF 快、記憶體更省,但檔案明顯更大,整體天平倒向 AVIF。
  6. 解碼速度 AVIF 也更快。JXL 在中等品質下解碼要 2–3 倍時間,極高品時差距縮小,Chrome 偶爾能反超。
  7. 高 effort 對 AVIF 和 jixel 都值得,但對 libjxl 不值得。libjxl 的高 effort 慢很多、用很多記憶體,卻幾乎沒有改善,甚至偶爾會產生比預設更大的檔案。

對網頁用途,Archibald 目前會預設使用 AVIF 4:4:4,調到能忍受的最高 effort。如果 AVIF 對某張特定圖產出異常大的檔案,才會試試 jixel 的 JXL。


為什麼這件事重要

對 Siami 的讀者來說,這不只是「圖片格式選擇」的瑣事。Web 平台的圖片流量長期佔總流量的 30–50%,選錯格式直接影響每個月的頻寬成本與使用者體驗。更重要的是,這是個被科技巨頭偏好扭曲過的市場——Chrome 團隊曾經主動把 JXL 從 Chrome 移除,背後的利害比技術更複雜。

Archibald 的測試之所以值得讀,是因為他直接公開了基準測試程式碼與完整數據,而不是只給結論。他把每張測試圖(賽車、黃鼠狼、人像、截圖、插畫)都擺出來,讓你可以自己重現、調整參數、質疑他的方法論。這是 Chrome 內部觀點的外溢——他代表的是 Google 對圖片格式的實際工程判斷,而 AVIF 正是 Google 主導推動的 AV1 影片標準的靜態圖片分支。

最後,這場測試也是對「次世代格式迷思」的祛魅。社群裡長期有種說法:「JXL 比 AVIF 好、Chrome 因為政治原因封殺 JXL」,但實測數據不支持這種敘事。Archibald 用工程師的方式回答了一個政治問題——結果揭曉,技術細節比科技巨頭偏好更值得相信。


數據解讀:為什麼 AVIF 在網頁贏

要理解 AVIF 為何在網頁場景領先,要從兩個維度拆開來看:

編碼策略的差異

AVIF 繼承自 AV1 影片編碼,核心是基於區塊的變換 + 預測 + 熵編碼。它對「自然照片」的紋理、漸層有非常好的建模能力,這正是網頁圖片的主流場景。JXL 則走了一條更有野心的路——同時支援 DCT 與 modular 兩種模式,目標涵蓋更廣。這種通用性是有代價的:在純失真照片這個子集上,JXL 比 AVIF 體積更大。

但 JXL 在另一個極端表現出色:無失真壓縮。Lossless WebP 比 lossless JXL 大 9–17%,lossless AVIF 更是大 30–120%。如果你的網站上有需要 bit-exact 的素材(例如 logo、icon、設計稿),JXL 仍然是首選。

解碼速度的不對稱

JXL 在中等品質解碼要 2–3 倍時間,這對行動裝置尤其敏感。Safari 的 JXL 解碼器最慢。雖然在極高品時 Chrome 偶爾能反超,但實務上網頁圖片多落在中等品質區間(SSIMULACRA2 70 左右),AVIF 的解碼效率優勢是真實可感知的。

HDR 的關鍵差距

對 HDR 內容,JXL 的格式規格支援 gain maps,但瀏覽器解碼器目前都不支援,編碼端也還處於實驗階段。AVIF 在 HDR 場景走得更快——這對未來 HDR Web 的普及是個訊號。


一個值得關注的延伸:JPEG → JXL 的無損重編碼

如果你網站上有大量舊 JPEG,直接把現有 JPEG 轉成 JPEG XL 可以小 9–20%,完全無損失。這是 JXL 對 AVIF 真正的殺手鐧——AVIF 沒有這種「無失真遷移路徑」,因為 AVIF 本質上是 AV1 重新編碼,沒辦法保留原 JPEG 的位元結構。

對手上握著幾十 GB 舊 JPEG 圖庫的網站(電商、新聞媒體、相簿服務)來說,這是個低風險的遷移選項:使用者體驗完全一致,頻寬直接省下一截。


質疑與待觀察

這份測試雖然嚴謹,但仍有幾個值得質疑的地方:

  • 測試樣本偏少。Archibald 只挑了幾張圖(賽車、黃鼠狼、人像、截圖、插畫),對邊緣案例(醫療影像、衛星圖、文件掃描)的代表性有限。
  • 編碼器版本會過時。他自己也提醒「兩邊近期都有大幅改善,未來結論可能翻轉」。讀者不應把這個結論視為永久判決。
  • LLM 給的圖片建議常常是錯的。他在文章結尾直接點名:「你的 AI 會很樂意把這些錯誤資訊丟給你。」這是給所有用 ChatGPT、Claude 問圖片格式建議的開發者一記當頭棒喝。
  • jixel 還沒到 1.0。這個新編碼器目前版本是 0.4.2,生態還不成熟。

延伸資源

網友熱門留言 (5)

#1 libjxl_dev ▲ 187
libjxl 的高 effort 模式非常慢。在照片場景下,它比預設模式只小 2–7%,在截圖和插畫上小約 25%,但要花 9–46 秒,是預設的 50–180 倍。jixel 用幾秒就能達到相同結果。libjxl 在 effort >7 的低速主要是因為一個迭代式的感知誤差指標(Butteraugli)調優迴圈。
#2 mp3_veteran ▲ 142
經歷過 MP3 時代,看著各領域專家花多年時間把 LAME 和它的參數袋優化到超越其他音訊格式,我傾向於觀望,不要把任何『贏家』公告當作真理。Codec 還需要時間成熟和精煉。我也記得 WebP 當年被吹得很神,結果實務上在同等檔案大小下常常輸給 JPEG。
#3 jxl_fan ▲ 156
這是 JPEG XL 比 AVIF 的一大優勢:你可以把現有的 JPEG 轉成更小的 JPEG XL,完全不損失資料(無失真重編碼)。
#4 webp_skeptic ▲ 98
就 WebP 的實務經驗,糟糕的是很多網站伺服器會把原始檔(多半是 JPEG)lossy 轉成 WebP 來省頻寬,或只是為了滿足 Google 推的網頁速度報告。紋理常常被磨掉,很明顯。建議從 Accept header 拿掉 WebP,強迫伺服器送原檔。
#5 encoder_critic ▲ 121
我覺得大家真的忘記 JXL 的編碼器現在還不夠好。例如 Firefox 截圖 lossless JXL 是 66.9 kB,但用更好的編碼器可以壓到 40.7 kB(小 39%),或是 43 kB(如果要相容 jxl-rs 純 Rust 解碼器)。