FireFox 113 发布,大幅提升屏幕阅读器性能,最高可达 20 倍

NVDA 创始人之一的 Jamie Teh 现就职于 Mozilla 是辅助功能团队的负责人,去年 Jamie 曾在 NVDA 国际社区谈及 FireFox 的全新辅助功能重构项目——"Cache the World" 会给 NVDA 带来巨大的性能提升,上周,随着 Firefox 113 的发布,这个项目已经在全平台的 Firefox 中上线。
NVDA 对 Mozilla 系列软件的支持要追溯到十几年前,有着身后的技术沉淀,加之 Jamie 的内外协调,我们有理由相信 Firefox 与 NVDA 的搭配一定可以带来绝佳的 Web 浏览体验。

大约五年前,Mozilla 发布了 Firefox Quantum,这一升级为 Firefox 的绝大多数用户带来了显著的性能提升。然而遗憾的是,Firefox Quantum 并未提升使用屏幕阅读器和其他辅助技术的用户体验。事实上,由于 Quantum 的架构改变,我们的屏幕阅读器性能在某些方面甚至出现了退步。

尽管 Firefox 的工程师在过去的一段时间里已经努力改善了辅助功能的性能,但是到了 2020 年,他们发现仅仅在原有的架构上进行改进已经无法满足需求。因此,我们开始了一项名为 "Cache the World" 的全新项目,这个项目的目标是重新编写 Firefox 的辅助功能代码,以便让屏幕阅读器和其他辅助技术更快地获取所需内容。

今天,随着 Firefox 113 版本的发布,这些改进已经对 Windows、Mac、Linux 和 Android 上的所有 Firefox 用户开放。

现代浏览器的复杂性远超过 Firefox 的辅助功能引擎首次设计时,最显著的变化就是向安全隔离的多进程架构的迁移。在多个独立的进程中,屏幕阅读器需要完成大量复杂的任务,以便检索并向用户传递内容。我们受到了 Chrome 的启发,扩展了其方法,以提升 Firefox 的辅助功能性能;现在,Firefox 将所有标签和浏览器用户界面内容的缓存提供给浏览器的父进程中的屏幕阅读器,从而使屏幕阅读器的检索过程可以快速响应。

这篇由辅助技术负责人 Jamie Teh 撰写的博客文章提供了此项目的更多背景和技术细节,但最直观的改变就是速度的提升。

译者注:以下摘自 Jamie Teh 撰写的博文:

这个项目的最主要目标是使 Firefox 在与屏幕阅读器和其他辅助技术交互时,特别是在 Windows 系统上,响应更快。让我们来看一些数据。下表提供了在这次重构之前和之后,使用 Firefox 和 NVDA 屏幕阅读器执行各种任务所需的大致时间。

任务 之前的耗时(无缓存) 之后的耗时(有缓存)
在 Searchfox 上加载含有超过 12000 行的 nsCSSFrameConstructor.cpp 表格 128 秒 6 秒
加载 WHATWG HTML 规范,一份非常大的文档 175 秒 15 秒
从收件箱打开一个 Gmail 消息 200 毫秒 100 毫秒
关闭一个 Gmail 消息,返回到收件箱 410 毫秒 150 毫秒
切换 Slack 频道 620 毫秒 330 毫秒

这些时间会因为使用的计算机、页面是否已被加载过、网络速度等因素而有很大的不同。然而,这种直观的对比应该可以让你对本次重构在性能提升方面的表现有个基本的概念。

我们注意到,在一些极端的使用场景中——比如加载包含大量表格的页面——Firefox 的性能提升了高达 20 倍,同时我们也可以观察到某些大型页面的加载速度提升了 10 倍!然而,仅仅对于日常操作,如打开和关闭 Gmail 邮件或在 Slack 窗口中切换频道,性能也提升了 2 到 3 倍。

这项改进在去年的 Firefox 102 版本中在 Android 上首次亮相,Windows 和 Linux 版本在 Firefox 112 版本中推出,今天,它登陆了 MacOS,这标志着我们的升级已全面覆盖所有 Firefox 平台。

我们很高兴能给大家带来这种性能和稳定性的改善,并且我们非常期待听到大家的反馈,也乐于解答大家遇到的问题。请在这篇博文的评论区告诉我们你对这些变化的看法,如果你发现了某些问题,也请在 Bugzilla 上提供反馈。如果你有新奇的想法来改进 Firefox 的辅助功能体验,我们非常欢迎你加入我们,并通过 Mozilla Connect 平台分享你的想法。
本文由 Asa Dotzler 代表 Firefox 辅助功能团队撰写,团队成员包括 Jamie Teh,Eitan Isaacson,Morgan Rae Reschenberg,Anna Yeddi,Nathan LaPré 和 Kim Bryant。

可以在这里阅读原文

标签: none

添加新评论