17611538698
webmaster@21cto.com

JPEG XL 终于获得了跨浏览器的支持

动态 0 13 48分钟前

图片

21CTO导读:Mozilla Firefox和Google宣布将默认启用JPEGXL解码支持,这对Web开发者的价值甚大。

经过多年的时断时续的关注(还有一次让许多Web开发者感到恼火的移除操作),JPEG XL 今天真的要正式投入并广泛使用了。

Mozilla 已经在即将于 9 月底发布的 Firefox 157 版本中宣布了这种格式的正式支持。在该版本中,这种格式将作为默认支持出现,而在此之前,用户已经可以在 Firefox 152 版本中体验到这种格式的功能,并且这些功能已经在测试版中得到了实现。

这些时间安排与其他人的计划非常契合。谷歌已经明确表明了将其 JPEG XL 解码功能作为默认功能来提供的意向,而 Safari 浏览器也已经提供了部分支持。

图片

如果 Chrome 和 Firefox 浏览器也能跟进,那么我们在今年年底前就能实现跨浏览器的 JPEG XL 支持了——不过在不久前,这似乎还不太可能实现。

实现这一目标的其中一个关键因素是:谷歌研究团队用 Rust 语言开发了一种新的解码器,名为 jxl-rs。这一成果源于 Mozilla 公司向谷歌提出挑战,要求证明 JPEG XL 解码器的安全性。原来的解码器是用 C++语言编写的,代码量达到了 10 万行。如此大量的 C++代码处理不可信的图像数据,正是安全团队最为担忧的问题之一。而用 Rust 语言重新编写该解码器,解决了那些一直困扰浏览器厂商的内存安全问题。

有一个值得注意的细节:Rust 解码器支持渐进渲染,而 Safari 当前使用的 JPEG XL 格式并不支持这一功能。因此,即使在支持该格式的浏览器中,不同浏览器之间仍存在一些功能上的差异。

JPEG XL 与 AVIF 相比,并没有明确的胜者

Mozilla 的文档还深入探讨了 JPEG XL 与 AVIF 之间的比较情况。说实话,这取决于你的具体使用场景。

  • 对于无损图像,JPEG XL 在性能上往往表现更为出色。
  • JPEG XL 在渐进渲染方面也有更好的表现,这一点对于在较慢的连接上提升页面加载速度非常重要。
  • For typical web-quality images (the lossy,
    对于典型的网页质量图片来说(那些有损压缩的、需要下载才能获取的图片)
另外,苹果的 Safari 则早在 2023 年就加入了对 JPEG-XL 的支持,但它使用的不是 Rust 实现而是 C++ 实现。


作者:场长

参考:

https://groups.google.com/a/mozilla.org/g/dev-platform/c/3YMV4MS34KA/m/iqfJV5cXEQAJ?pli=1https://groups.google.com/a/chromium.org/g/blink-dev/c/-gDojQbDPRIhttps://zh.wikipedia.org/wiki/JPEG_XL

评论

我要赞赏作者

请扫描二维码,使用微信支付哦。

分享到微信