Snap 版本的 Firefox 是 Ubuntu 22.04 LTS 的默认 Firefox 包装,Snap 格式提高了安全性,提供了跨版本兼容性,并缩短了 Mozilla 推送改动的时间。而这些好处的代价是 Snap 格式的 Firefox 性能存在大问题,启动时间超长,尤其是在系统重启后首次启动 Firefox 时。
Canonical 一直在进行各种改进,以解决 Firefox Snap 的启动时间问题。随着最新的改进推送到 Firefox Snap,Firefox Snap 的启动时间减少了大约 50%。
这次性能优化主要在于两个重大改进。首先是关于 Firefox 如何处理语言包的变化,第二个是对 Firefox 所依赖的 GNOME 和 GTK 主题快照的更新。
扩展处理 – 语言包
以前,Firefox 在第一次启动时会复制所有语言包,这是一个巨大且不必要的开销,因为大多数人只使用一种用户界面语言运行 Firefox,例如中文、英语或法语。
Mozilla 的最新修复让 Firefox 一次只加载一种语言(跟随系统设置),这影响安装后首次启动 Firefox 的时间,测试表明平均减少了大约 6 秒。
GNOME 和 GTK 主题快照压缩
此前 Canonical 已对 Firefox snap 使用 LZO 压缩,来提高 Firefox 的启动性能。但其没有考虑的是 Firefox snap 依赖于 gnome-3-38-2004 和 gtk-common-theme snap,它们仍然使用 XZ 算法压缩交付。由于 Firefox snap 在启动期间会从这两个 snap 中加载库,因此解压缩过程可能会造成性能瓶颈。
将这两个快照的压缩算法也切换到 LZO 之后,便可以进一步改善 Firefox 的启动时间。
另一个好处是,此更改不仅会影响 Firefox,还会影响依赖于 GNOME 和 GTK 快照的所有快照的开始时间,包括 Chromium 和 Thunderbird。
此外,据外媒 Phoronix 报道,接下来 Canonical 将研究多线程解压缩、解决 Firefox 在 Raspberry Pi 上使用的软件渲染问题,并探索预缓存。 通过 Ubuntu 博客 可了解有关最新 Firefox Snap 进展的更多详细信息。
文章评论