早在 2011 年秋季,我们针对性地研究了 Firefox 的响应能力问题。我们确定了一些短期项目,这些项目可以共同实现日常 Firefox 使用中的显著响应能力改进。Snappy 项目在年底启动,其目标是提高 Firefox 的响应能力。
虽然 Snappy 最初为 Firefox 11 提供了修复程序,但 Snappy 目前为止最明显的贡献将与 Firefox 13 一起发布。目前处于测试版阶段,此版本包含了许多与响应能力相关的修复,最值得注意的是按需加载标签页、循环收集器改进和启动优化。
按需加载标签页
按需加载标签页是一项功能,可减少具有多个标签页的 Firefox 窗口的启动时间。在 Firefox 12 中,所有标签页都在启动时加载。对于具有多个标签页的窗口,这可能会导致延迟,因为每个标签页都必须加载其内容,然后才能与 Firefox 交互。在 Firefox 13 中,只有活动标签页会加载。后台标签页的加载会推迟到选中标签页时。这样,Firefox 就能更快启动,因为按需加载标签页可以减少处理要求、网络使用量和内存消耗。
循环收集器
在您与浏览器和 Web 内容交互时,会根据需要分配内存。Firefox 循环收集器会自动释放不再需要的部分内存。此操作可以减少 Firefox 的内存使用量。在 Firefox 13 中,循环收集器效率更高,在检查仍在使用的内存时花费的时间更少,从而减少您使用 Firefox 时的暂停次数。
启动
所有用户都能感受到 Firefox 的启动时间。我们对启动的调查发现,代码中有一些未优化的例程会在我们所谓的“首次绘制”之前执行。“首次绘制”表示 Firefox 用户界面首次出现在屏幕上的时间。在 Firefox 13 中,我们优化了文件调用、音频会话、拖放以及整体 IO,仅举几例。我们正在继续分析 Firefox 启动序列,以识别未来版本中可以进行的进一步优化。
Firefox 13 中还有许多其他 Snappy 修复,包括对 IO 争用、字体枚举和 Livemark 开销的重大改进。所有这些修复都有助于提供更具响应性的体验。我们已经在为未来的 Firefox 版本开发更多响应能力修复程序。您将在即将发布的版本中看到 Snappy 在内存使用量、关闭时间、网络缓存和连接、菜单以及图形等方面的改进。
关于 Lawrence Mandel
Firefox 工程项目经理
61 条评论