当前位置: 首页 > news >正文

Chrome在Android上Speedometer性能翻倍的技术揭秘

Chrome在Android上Speedometer性能翻倍的技术揭秘

2024年12月4日,星期三

今天的"The Fast and the Curious"系列文章将介绍Chrome如何在移动设备上实现业界领先的Speedometer分数,从而为Android用户带来更快、更流畅的网络体验。

Speedometer在Android上的表现

我们用来追踪Chrome性能的关键指标之一是Speedometer基准测试。该基准测试是与其他主要网页浏览器引擎合作开发的,用于测量Chrome完成与网页交互的速度,包括解析/渲染HTML或CSS以及运行JavaScript。

自Chrome M112发布以来,我们看到Android设备上的Speedometer 2.1分数显著提升[1]。事实上,在许多设备上,分数翻了一倍多,最新的Snapdragon®️ 8 Elite移动平台创下了移动设备上Speedometer性能的新纪录!这些巨大成就不仅证明了Chrome和Android团队的工作,也证明了我们与芯片和SoC合作伙伴的合作成果。

我们是如何实现的?

这些改进来自多项变更,包括:

  • 构建优化:我们对Chrome的构建方式进行了多项更改,从而在现代高端Android设备和SoC上实现了更快的代码执行。
  • V8和Blink改进:对JavaScript引擎(V8)和渲染引擎(Blink)的许多改进进一步提升了性能。
  • 调度、操作系统和SoC:我们与Android合作伙伴密切合作,优化Chrome与操作系统的交互方式及其线程调度,以充分利用设备上的芯片。

让我们更详细地了解这些领域。

构建优化

Android设备生态系统非常多样化。从入门级手机到最新的高端手机,Chrome都需要在所有设备上良好运行。直到去年,我们向所有这些不同的Android设备提供相同的Chrome构建。入门级设备上的内存和磁盘大小限制导致Chrome必须优先考虑较小的二进制文件大小。因此,许多现代构建优化无法实现,因为它们会导致更大的二进制文件。

从M113开始,Chrome终于能够通过Google Play Store向高端Android设备提供单独的高性能构建。虽然我们仍然向其他设备提供更受二进制大小限制的构建,但这种方法使我们能够将一些现代优化应用到新的高端构建中:

  • 通过针对64位Arm而不是32位Arm,我们可以利用更高效的Arm指令集功能和更大的64位操作。
  • 由于在拥有大磁盘和充足内存的高端设备上,二进制文件大小不那么重要,我们现在可以编译针对速度优化(-O2 / -O3)而不是大小优化(-Oz)的C++代码。
  • 此外,我们调整了编译器使用的内联阈值,以在热代码中(模块内部和跨模块)启用更多内联,同时更新了另一个编译器通道(MLGO)使用的模型和策略,以减少冷代码中的内联。
  • 我们现在还将配置文件引导优化(PGO)技术应用于构建,以进一步改进热代码的代码布局和优化级别。
  • 最后,我们通过将Chrome的orderfile生成与新的64位构建对齐,改进了跨函数代码排序。我们现在还在用于生成orderfile的工作负载中包括了Speedometer 3,这是行业标准浏览器速度基准测试的最新版本。

这些构建优化共同贡献了整体Speedometer分数改进的一半以上。这一进展得益于我们与Arm的合作,他们提供了宝贵的见解和改进,包括识别和解决Chrome的PGO设置和内联中的低效问题。

V8和Blink改进

Chrome持续改进其JavaScript和网页渲染引擎V8和Blink的性能。大多数优化在个体影响上很小,但叠加在一起,这些改进累积起来,贡献了剩余Speedometer影响的大部分!值得注意的改进包括:

  • 我们现在使用优化的快速路径HTML解析器来解析innerHTML属性。
  • V8推出了其Sparkplug编译器层,这是一个超快的基线编译器,位于其Ignition解释器之上,能够非常快速地生成非优化代码。后来,V8还推出了Maglev,一个新的中层编译器,生成半优化代码。它比Sparkplug花费更长的时间,但比V8的超优化编译器层Turbofan少得多的时间。所有这些新的分层层次结构使V8能够更逐步地升级,从而改善性能和功耗。
  • 我们调整了决定垃圾回收发生时间的启发式方法,针对渲染引擎空闲或用户离开页面时。
  • 我们实现了许多其他增量优化,例如对V8以及我们的解析、样式、布局和文本渲染引擎的优化。

调度和操作系统

为了实现最佳性能,Android合作伙伴大力调整操作系统的线程调度和频率缩放策略,并改进芯片本身的性能。

我们与合作伙伴密切合作,改进他们对Chrome和Speedometer的调整。特别是,我们与高通的合作非常富有成果:通过将优化的调度策略与改进的硬件性能相结合,他们最新的Snapdragon 8 Elite移动平台在Speedometer 3.0上比其前代产品实现了60-80%的改进,从而实现了业界领先的网络性能。这次合作还突出了Chrome代码中的重要瓶颈,例如需要改进PGO以及V8中的机会。

为什么这些改进很重要?

更快的Speedometer分数转化为用户与网页内容真实交互的改进,例如更快的页面加载和交互。回到M112,在Pixel Tablet上加载Google Docs文档比今天多花费50%以上的时间——这就是Speedometer分数翻倍的效果!

[1] Speedometer 3在M122期间发布,因此提供了Speedometer 2.1的结果以获取完整画面。图表中显示的测量数据是在Pixel Tablet上采集的。

发布者:Eric Seckler,Chrome软件工程师
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

http://www.zskr.cn/news/14762.html

相关文章:

  • OpenAI炸场!Sora 2正式发布,它不只是个视频模型,更是一个社交宇宙!
  • 格林达姆 花——季护航2006年-2017年天朝纸媒资料备份(不全)
  • velero 备份及使用方法
  • CT5132 Program. Tools for AI:-week4 note
  • Claude Code V2集成KAT-Coder
  • VMware Aria Operations 8.18.5 发布,新增功能概览
  • 20251001 之所思 - 人生如梦
  • 【Linux】库的链接与加载 - 详解
  • AGC015E Mr.Aoki Incubator
  • 动手动脑实验性问题总结
  • 深入解析:数字和字节:Linux 中的内存如何工作?
  • MySQL复合查询(重点) - 详解
  • 2025 年喷雾干燥机厂家 TOP 企业品牌推荐排行榜,无锡 / 常州喷雾干燥机 / 离心式 / 压力式 / 气流 / 造粒 / 有机溶剂 / 闭路循环 / 闭式循环 / 实验喷雾干燥机公司推荐!
  • 哈希问题的一类技巧
  • AtCoder Grand Contest 015 - E - Mr.Aoki Incubator
  • 9.30 CSP-S模拟25 改题记录
  • 完整教程:[论文阅读]Benchmarking Poisoning Attacks against Retrieval-Augmented Generation
  • 撕裂的乡土:在人性荒原上寻找微光
  • 2025 年健身器材品牌 TOP 推荐排行榜,室内 / 健身房 / 体育 / 运动 / 家用 / 商用 / 单位 / 家庭 / 有氧 / 力量健身器材推荐
  • 详细介绍:给贾维斯加“手势控制”:从原理到落地,打造多模态交互的本地智能助
  • 2025 年发泡陶瓷厂家 TOP 企业品牌推荐排行榜,发泡陶瓷线条 / 构件 / 装饰构件 / 空心砖 / 窗套线 / 浮雕 / 装饰线条推荐这十家公司
  • 2025 年传感器厂家 TOP 企业品牌推荐排行榜,磁致伸缩 / 防爆 / 防水 / 隔爆 / 线性 / 矿用 / 直线 / 油缸位移传感器 / 液位传感器公司推荐!
  • JUC:读写锁
  • 2025 年点胶机厂家 TOP 企业推荐排行榜,自动 / 果冻胶 / 无痕内衣 / 烫钻 / 珠宝热熔胶 / 水钻热熔胶 / 亮片热熔胶 / 金葱粉热熔胶点胶机推荐这十家公司!
  • 2025换热器厂家最新推荐白皮书,不锈钢 / 钛 / 哈氏合金 / 碳钢 / 衬四氟 / 列管式 / 螺旋板 / 管壳式 / 缠绕式 / 复合材料换热器公司推荐!
  • IELTS-G Writing Task1 informal letters
  • 2025 年 AI 教育培训机构推荐及选择指南:企业 AI 教育培训 / AI + 教育 / AI 教育线下机构 / AI 企业教育培训机构 / AIGC 教育培训推荐这五家公司!
  • 社区互助养老框架|基于java和小程序的社区互助养老系统小程序设计与实现(源码+数据库+文档)
  • oppoR9m刷Linux系统: 电脑安装驱动工具
  • oppoR9m刷Linux系统: 手机获取系统root权限