今天,Mozilla推出了Firefox 90 速度更快的同时,越来越注重隐私。
不仅增加了改进的打印到PDF的功能,HTTPS-only模式、帮助识别第三方应用程序引入的兼容性问题等,还几个大亮点改进:
- 一个是新的 SmartBlock 功能(在确保网站登录仍然有效的情况下,加强保护跨网站跟踪)。
- 还有一个新的 Windows后台更新程序,它允许一个小的后台程序在浏览器不运行时检查、下载和安装Firefox更新。
SmartBlock 2.0
-
SmartBlock 1.0可以防止使用Facebook认证来登录其他网站--例如Etsy。
-
SmartBlock 2.0今天首次与FireFox 90一起推出,当你点击 "继续使用Facebook "按钮时,会暂时解除对使用FB认证登录Etsy的正确脚本的封锁。
Mozilla内置的SmartBlock隐私功能的最新版本使用户更容易保持他们的跟踪保护设置,而不会破坏个别网站。更新后的版本似乎特别针对Facebook登录,它作为第三方认证和登录工具在网络上的使用越来越多。
火狐浏览器默认屏蔽了Facebook的脚本,因为Mozilla的合作伙伴Disconnect(正确地)在其已知的第三方跟踪器列表中识别了Facebook的域名。不幸的是,阻止Facebook脚本也意味着破坏第三方的Facebook登录--例如,在etsy.com上发现的Facebook登录功能。
有了SmartBlock 2.0,第三方网站上的Facebook脚本被禁用,就像以前一样,但是当用户点击 "继续使用Facebook "选项时,这种特定的、故意的用户与Facebook脚本的互动会导致SmartBlock 2.0解除屏蔽。解除封锁的时间正好允许Facebook认证登录成功--而用户不需要调低他们的跟踪保护设置。
一个更快的版本
-
Y轴表示 "不晚于此时间段完成的响应数量"--注意,在FF89中,响应时间小于50毫秒的桶明显更多。
-
虽然很难发现,但我们可以在这张图中看到Javascript处理时间的改进--FF89在大多数低于17毫秒的桶中的事件比FF86多。
Mozilla的内部指标显示,2021年的速度有了明显的改善--根据Mozilla自己的测试,上个月的Firefox 89比早期版本快了10-30%。具体来说,Mozilla团队提到了以下几个方面的改进。
- 在URL栏或文档编辑器(如Google Docs、Office 365)中输入信息
- 打开网站菜单(如Google Docs中的文件菜单
- 基于浏览器的视频游戏中的键盘控制
为了更具体地讨论性能目标和收益,Mozilla定义了三个级别的浏览器响应性:instantaneous
、perceptible lag
、jank
,前两者的最大延迟阈值为50毫秒和1,000毫秒。Mozilla继续指出,jank
,不仅意味着更长的延迟,而且整个网站--在最糟糕的情况下,浏览器本身的用户界面--每次都会超过一秒钟而无法使用。
令人印象深刻的是,Firefox 89在40%以上的时间里都能对事件作出instantaneous
,而Firefox 86只有30%。
瞬时响应
对于instantaneous
响应(瞬时响应),浏览器本身进行的计算并不是唯一的问题--无论浏览器产生新数据的速度有多快,在显示器显示之前,用户都无法真正感知到它。在典型的显示器刷新率为60Hz的情况下,这意味着大约每隔17毫秒就会显示一个新的帧,因此浏览器只有三个帧才能达到该响应级别的50毫秒目标。
在早期版本的火狐浏览器中,用户的输入发生在第0帧,而浏览器绘制新内容的 "画图 "过程发生在第1帧,因此组成(当新的paint
编辑的内容实际交给操作系统并显示在用户的显示器上)不会早于第2帧。这就是我们可以在Mozilla为instantaneous
响应设定的50毫秒的时间限制内容纳的所有三个框架!
从Firefox 89开始,Markus Strange建议对Firefox的绘画管道进行更新,这大大改善了情况--现在,paint
ing可以在用户输入的同一帧中发生,使compositing
可能提前一帧。这使得最大响应的交互比以前快了大约17毫秒--是自定的instantaneous
窗口的三分之一。
小而可察觉的滞后
大部分可感知的浏览器延迟是由花在JavaScript代码上的时间造成的--通常情况下,因为JavaScript引擎开发者花了更多的时间在合成基准上,而不是为真实世界的网络应用和框架进行优化。
直接针对常用的网站,Mozilla可以更好地调查Firefox的JavaScript引擎SpiderMonkey的性能问题。在真实世界的网站上进行实验以提高性能,而不是基准,这导致了数组迭代器的改进,从Firefox 89开始就提高了性能。
Mozilla预测 SpiderMonkey 将在2021年继续大幅改进,指出更好的对象结构架构和更快的for-of循环是两个例子。Ted Campbell、Iain Ireland、Steve Fink、Jan de Mooij和Denis Palmeiro为SpiderMonkey的性能做出了许多贡献,Mozilla对此表示感谢。
Jank
最蹩脚、名字最搞笑的当属 Mozilla 性能类别,jank
,在这个版本中也得到了一套改进。其中最明显的改进是,一个新的后台挂起报告器。部分归功于Florian Quèze和Doug Thayer的努力工作,Mozilla现在可以在浏览器性能下降时获得特殊的遥测信息,包括在Firefox父进程中经常看到的主线程挂起的堆栈痕迹。
这个新工具已经带来了洞察力和性能改进--例如,Mozilla发现,对于大多数使用触摸屏的Windows用户,无障碍功能被不必要地启用。无障碍功能对于需要它们的用户来说是非常重要的,但是当它们被激活时,对于浏览器来说是非常重要的额外工作。
部分归功于James Teh的协助,启用不必要的无障碍功能的用户数量明显减少,而挂起的报告数量也随之减少。