APP下载

Mozilla揭露Firefox移植Apple Silicon细节,Firefox 85将提供更完整支援

消息来源:baojiabao.com 作者: 发布时间:2024-04-23

报价宝综合消息Mozilla揭露Firefox移植Apple Silicon细节,Firefox 85将提供更完整支援

Mozilla将在Firefox 85提供更完整的Apple Silicon芯片支援,而WebRender之前因为会触发Big Sur中的绘图驱动程式臭虫,因此在Firefox 84版本禁用,但这个问题现在已经解决,因此在Firefox 85也会重新开启WebRender,另外,Firefox也针对Apple Silicon的异构计算架构进行最佳化,使其更能利用不同特性核心的优势。

去年底Apple发布一系列搭载M1芯片的Mac产品,M1是以Arm为基础,由Apple自家设计的芯片,而这些新Mac的效能表现,让使用者充满惊喜,即便Apple提供了模拟器解决方案,但不少应用程序开始原生支援M1芯片,在浏览器市场扮演重要角色的Firefox也不例外,早在Apple真正释出搭载M1芯片的Mac之前,开发团队就开始评估Firefox支援Apple Silicon的可行性,以及支援的方法。

在Firefox支援Arm并不是一件全新且困难的工作,因为过去Firefox就已经在不同平台,包括Android和Linux之都支援64位元Arm,因此开发团队重新检视原本就支援64位元Arm的Firefox程式码、相依项目和第三方建置系统等,确认这些部分都可以正确处理新Mac架构。

需要修改的程式码,包括处理低阶呼叫惯例,以及JavaScript、C++和Rust间的界面,而且因为Firefox非常依赖Rust程式码,需要Rust编译器来建置浏览器,因此他们不只更新编译器,还有所有相依的套件,而且尤为困难的是牵涉SIMD的支援,Mozilla提到,这很难让旧版本Firefox,在支援Apple Silicon的同时,又不影响到其他平台。

Firefox采用了通用二元档案(Universal Binary)的方式来支援M1 Mac,同一个安装档案可以同时用于英特尔以及Arm的Mac,虽然这样会让安装档案的大小明显增加,但是却可以避免用户下载错版本,下载页面和本地化基础设施也不需要变动,而且这也仅会影响初始版本的安装,在更新之后就可以获得容量较小的新版本,因此权衡优缺点下,Mozilla最终还是采用通用二元档的方法。

在所有Firefox开源的部分都移植到64位元Arm之后,另一个需要处理的问题是数位版权管理(Digital rights management,DRM)内容的支援,包括Netflix、Disney+和Amazon Prime,都要求使用闭源DRM软件解码影片。由于闭源DRM软件对于支援Apple Silicon的不确定性,Mozilla最后将DRM视讯解码器以单独程序执行,并在用户的系统中以沙盒执行这些专有的程式码。

发布新版安装程式也遭遇到了问题,当旧版Firefox自动下载并更新支援新架构Mac的Firefox,Firefox仍会持续以模拟器运作,这是因为在Apple Silicon上,任何在英特尔X64模拟器下执行的应用程序,另一个程序也会以模拟器执行,因此没有原生支援Apple Silicon的Firefox 83,即便自动更新到Firefox 84之后,系统不会自动启动新的原生二位元档案,必须要等到应用程序重新启动。

2020年12月15日Mozilla正式发布原生支援Apple Silicon的Firefox 84,Mozilla提到,虽然他们从很多报告看到,模拟器Rosetta对效能的影响很小,应用程序都还是能以原生效能70%到80%执行,但是当他们测试原生Firefox版本,还是对效能感到讶异,许多重要效能指标都翻倍之外,启动速度更是快了2.5倍。

不过,因为稳定性的考量,部分功能并没有在第一个支援Apple Silicon的Firefox 84上启用,包括因为WebRender在支援Apple Silicon的第一个Big Sur版本,会触发绘图驱动程式臭虫,而这个问题现在已经解决,因此在Firefox 85上将会重新启用,另外,在Firefox 85预计也会采用新的编译器Ion。

Mozilla表示,Apple Silicon是第一个异构设计的桌面电脑芯片,因此他们还在更改大部分多核心执行序和执行绪池架构,将效能要求不高的工作,放到高效率核心(Efficiency Core)上,把高效能核心(Performance Core)留给重要的工作。另外,Mozilla还要清理和更新旧版macOS绘图API的用法,解决因为旧版API不支援深色模式,可能导致画面颜色异常的问题。

2021-01-22 12:50:00

相关文章