Firefox 157 将默认在所有平台上支持 JPEG XL

Hacker News Top 产品

摘要

Firefox 157 计划在所有平台上默认启用 JPEG XL 解码,使用 jxl-rs Rust 库以提升性能并实现与其他图像格式的功能对等。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/08/25 19:58

# 计划发布:JPEG XL 来源:https://groups.google.com/a/mozilla.org/g/dev-platform/c/3YMV4MS34KA?pli=1 ### Timothy Nikkel 未读, 2026年8月24日,晚上7:15:09(2天前)8月24日 发送至 [email protected] 自 Firefox 157 起,我计划在所有平台上默认启用 JPEG XL 解码功能。该功能此前一直在 image.jxl.enabled 开发选项后面进行测试,目前该选项仅在 Nightly 版本中默认开启,并且自 152 版本以来,每个发布频道都通过 Firefox Labs 提供了一个复选框。解码器采用 Rust 编写的 jxl-rs。 默认开启的 Bug 追踪:https://bugzilla.mozilla.org/show_bug.cgi?id=2065096 标准:ISO/IEC 18181, https://www.iso.org/standard/85066.html 标准组织:ISO/IEC 平台覆盖:所有平台 首选项:image.jxl.enabled 标准立场:https://github.com/mozilla/standards-positions/issues/522(中立) 技术架构组审查:https://github.com/w3ctag/design-reviews/issues/633(满意但有顾虑) 原型实现意图:https://groups.google.com/a/mozilla.org/d/msgid/dev-platform/53b4e3e0-5eee-4768-a1ba-b069e1e85244n%40mozilla.org 其他浏览器:Safari 于 2023 年在 17.0 版本中发布了支持。Chrome 通过 #enable-jxl-image-format 使用相同的 Rust 库,但尚未有发布意图。 自原型实现以来的变更: 性能是当初在原型实现讨论帖中被提出的一个关注点。jxl-rs 0.6.0 版本已发布,支持多线程解码,我们用于接入并启用多线程解码的补丁预计很快就会合入。包含这些补丁,我在同一台机器上,使用相同的图片集,针对不同尺寸运行了一个五种格式的解码基准测试:我们略微优于 Safari(使用 C++ 的 libjxl)。与我们其他的图像格式解码器相比,JXL 在处理大尺寸图片时性能接近,但在处理小尺寸图片时差距稍大。 它在功能上与我们其他的图像格式以及 Blink 的 JXL 实现保持一致,包括动画和渐进式显示。唯一的例外是 HDR:HDR 图像将显示为 SDR,这与我们支持的所有其他格式相同,但我们针对 JXL 的色调映射效果远优于我们对其他图像格式的处理。Safari 则既不支持渐进式渲染,也不支持动画。 wpt jpegxl 测试目录涵盖了跨位深、Alpha 通道、灰度、CMYK、色彩管理、方向及编码工具的解码正确性测试,以及 HTML 和 CSS 中图像使用方式的测试。对于 wpt 无法表达的情况,我添加了 Gecko 测试:大约 30 个用于分块和增量解码、动画帧数、解码过程中缩放以及损坏文件的 gtests;用于渐进式渲染和遥测的 mochitests;reftests;以及向 Perfherder 报告的解码基准测试。模糊测试团队在启用该功能到 Nightly 版本之前已经对 jxl 进行了模糊测试,在我正式开启该首选项之前,他们会再次对解码器进行模糊测试。 Timothy Nikkel ### Timothy Nikkel 未读, 2026年8月24日,晚上7:37:11(2天前)8月24日 发送至 [email protected] ### 一丝 未读, 2026年8月25日,下午4:22:05(12小时前)8月25日 发送至 [email protected], [email protected] 目前是否支持动画 JXL? ### Timothy Nikkel 未读, 2026年8月25日,下午4:40:26(11小时前)8月25日 发送至 一丝, [email protected] 是的,支持动画 JXL。 Tim ### Sergey Davidoff 未读, 2026年8月25日,下午6:40:40(9小时前)8月25日 发送至 [email protected], [email protected] 我担心无损 JPEG XL 的性能。根据我的测量,它的解码速度比无损 WebP **慢 30 倍**,而文件大小仅减少 10%。这是一个值得商榷的权衡,尤其是在笔记本电脑和手机上,这可能会耗尽电池并降低用户体验。 我建议在 Firefox 157 中仅发布有损 JPEG XL,并将无损 JPEG XL 格式的考量单独进行。 **测量方法** 使用 Git 版本的 jxl-rs https://github.com/libjxl/jxl-rs (提交 775837f57dfe4294d89c1c6317dd91a1ed8d3cfa),使用 'cargo build --release' 编译 使用 'cwebp -lossless' 转换为 WebP,使用 'cjxl -d 0' 转换为 JPEG XL 两个解码器均在单线程模式下运行,使用 'taskset -c 0' 测量总 CPU 时间。 $ hyperfine --warmup 5 'taskset -c 0 target/release/jxl_cli --speedtest 55_Cancri_e_Final_1_30.jxl' 'taskset -c 0 dwebp 55_Cancri_e_Final_1_30.png.webp' 基准测试 1: taskset -c 0 target/release/jxl_cli --speedtest 55_Cancri_e_Final_1_30.jxl 时间(平均值 ± σ): 20.632 s ± 0.061 s [用户: 20.605 s, 系统: 0.027 s] 范围(最小值 ... 最大值): 20.549 s ... 20.743 s 10 次运行 基准测试 2: taskset -c 0 dwebp 55_Cancri_e_Final_1_30.png.webp 时间(平均值 ± σ): 667.0 ms ± 2.2 ms [用户: 449.5 ms, 系统: 217.5 ms] 范围(最小值 ... 最大值): 664.3 ms ... 670.1 ms 10 次运行 总结 taskset -c 0 dwebp 55_Cancri_e_Final_1_30.png.webp 的运行速度比 taskset -c 0 target/release/jxl_cli --speedtest 55_Cancri_e_Final_1_30.jxl 快 30.93 ± 0.14 倍 作为参考,libjxl 的 djxl 工具在相同测量中比 WebP 慢 20 倍。因此,似乎对 Rust 代码的进一步优化可能无法带来显著帮助,但也不会改变整体计算结果。

相似文章

计划发布:JPEG XL

Lobsters Hottest

Mozilla 已宣布计划在 Firefox 中支持 JPEG XL,同时 Chrome 也计划支持,这使其成为跨浏览器标准。文章重点介绍了渐进式渲染,并比较了 JPEG XL 和 AVIF 在不同用例中的表现。

Firefox 153.0 Beta

Hacker News Top

Firefox 153.0 Beta 带来了 Windows 上的 HDR 视频播放、PDF 合并与编辑、取色器快速操作、二维码分享,以及实验性的 JPEG XL 支持,同时还增强了隐私保护和可用性。

Firefox 中的 zlib-rs

Lobsters Hottest

Firefox 现在使用 zlib-rs 进行 gzip 压缩,提升了性能和安全性,不过集成时需要为 Intel Raptor Lake CPU 的一个 bug 进行变通处理。