
发布意向JPEG XLTimothy Nikkel 表示从 Firefox 157 版本开始打算在所有平台上默认开启 JPEG XL 解码功能。此前该功能在 image.jxl.enabled 开关后开发仅在 Nightly 版本中默认开启且从 152 版本起每个版本的 Firefox Labs 都有相关选项。解码器采用 Rust 编写的 jxl - rs。默认开启的 Bug 链接、标准、标准组织、平台覆盖范围、偏好设置、标准立场、TAG 评审、原型开发意向等信息也都有明确说明。其他浏览器方面Safari 在 2023 年的 17.0 版本中发布了该功能Chrome 使用相同的 Rust 库在 #enable - jxl - image - format 开关后支持该功能但尚未有发布意向。自原型开发意向提出后的变化在原型开发意向讨论线程中性能是关注焦点。jxl - rs 0.6.0 版本发布了多线程解码支持接入和启用多线程解码的补丁预计很快会合并。包含补丁后Timothy Nikkel 在不同尺寸的相同图片上进行了五种格式的解码基准测试结果显示在他的机器上性能略优于 Safari使用 C 的 libjxl。与其他图像格式解码器相比JXL 在大图像上表现接近但在小图像上差距较大。它与其他图像格式以及 Blink 的 JXL 实现功能相当包括动画和渐进式显示唯一例外是 HDR不过为 JXL 提供的色调映射比其他图像格式要好得多。Safari 既不支持渐进式渲染也不支持动画。WPT 的 jpegxl 目录涵盖了不同位深度、透明度、灰度、CMYK、色彩管理、方向和编码工具的解码正确性以及图像在 HTML 和 CSS 中的使用方式。对于 WPT 无法涵盖的部分添加了 Gecko 测试包括约 30 个 gtests 用于分块和增量解码、动画帧计数、解码时的缩放和损坏文件测试以及用于渐进式渲染和遥测的 mochitests、参考测试和解码基准测试并将结果报告给 Perfherder。模糊测试团队在 Nightly 版本启用该功能之前已经对 JXL 进行了模糊测试在切换偏好设置之前还会再次对解码器进行模糊测试。各方交流情况Chromium 发送了发布意向。一丝询问目前是否支持 JPEG XL 动画Timothy Nikkel 给予肯定答复。无损 JPEG XL 性能遭质疑Sergey Davidoff 担心无损 JPEG XL 的性能问题。根据他的测试其解码速度比无损 WebP 慢 30 倍而文件大小仅减少了 10%认为这是一个值得商榷的权衡特别是在笔记本电脑和手机上可能会消耗电池电量并降低用户体验。他建议在 Firefox 157 中仅发布有损 JPEG XL并单独考虑无损 JPEG XL 格式。他还详细说明了测试方法使用了 https://github.com/sharkdp/hyperfine 工具从 https://github.com/libjxl/jxl - rs 的 git 仓库中获取 jxl - rs提交版本为 775837f57dfe4294d89c1c6317dd91a1ed8d3cfa使用 cargo build --release 进行编译。输入图像为 https://commons.wikimedia.org/wiki/File:55_Cancri_e_Final_1_30.png使用 cwebp - lossless 将其转换为 WebP 格式使用 cjxl - d 0 转换为 JPEG XL 格式。两个解码器都在单线程模式下运行使用 taskset - c 0 来测量总 CPU 时间。测试结果显示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 代码的进一步优化似乎无济于事也不会改变整体情况。