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

news/2025/10/1 23:08:53/文章来源:https://www.cnblogs.com/qife122/p/19123053

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.mzph.cn/news/924378.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年10月训练记录

2025年10月训练记录2025/10/1 今天下午和队友在vp,所以留给我的补题时间不多了( 2025ICPC武汉M 起始位置和终止位置确定,且不在极点,不在对拓点,所以从\(\text{S}\)到\(\text{T}\)点的飞行路径是确定的,是平面\(…

《电路基础》第四章学习笔记

《电路基础》第四章学习笔记 本章内容:认识什么是线性电路,学习戴维南定理和诺顿定理。线性性质线性是齐次性与可加性的组合齐次性:如果输入乘以一个常数,那么输出也会相应乘以同一个常数。 例如这个公式: \[v=iR…

广州手机网站定制如何福建 网站建设

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 通常修改代码后 会在 Local Changes 中提示修改过的文件,如下: 2. 我的情况是 ,在这个界面中什么…

大良网站设计西安企业排行榜

文章目录1. 题目2. 解题1. 题目 给定一个正整数数组 A,如果 A 的某个子数组中不同整数的个数恰好为 K,则称 A 的这个连续、不一定独立的子数组为好子数组。 (例如,[1,2,3,1,2] 中有 3 个不同的整数:1,2&a…

网站底版照片怎么做银川哪家网站建设专业

void ,NULL及0的区别联系 void的详解: void的字面意思是“无类型”或“空类型”,void*则为“无针型指针”,那就意味着void*可以指向任何类型的数据。 众所周知,如果指针p1和p2的类型相同,那么我们可以直接在p1和p2间互相赋值&…

US$39 PowerBox for KTM JTAG for Hitachi

PowerBox for KTM JTAG for Hitachi It is compatible in the automatic mode with the loading programs which use:BOOT-OEM12, 12 pin OBD-II;L-LINE, 15 pin OBD-II. The Tool has built-in current limiting resi…

网站开发好学不企业站点

css怎么移动文字?下面本篇文章给大家介绍一下方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。css怎么移动文字?首先可以用个容器来包住文字,给宽和高。然后,可以使用多种方法来移动…

网站开发免责声明西安做网站报价

来源:36氪 概要:不管是对科技巨头还是对创业公司,人工智能可以说是移动互联网时代以来最大的一个机遇。但是,人工智能同时也是让大多数人感到非常困惑的一项新技术,对它的发展现状和未来都非常迷惑。 不管是对科技巨头…

网站设计需求文档范例成都房地产网

想知道谷歌优化方法有什么,首先要了解谷歌搜索引擎的工作原理,谷歌的工作原理主要是通过“爬虫”来实现的,所谓“爬虫”就是一只能够读取并分析网页内容的程序,或者也能理解成机器人,当你在谷歌上输入关键词进行搜索时…

第一章作业

编码规范 1.命名规范,命名要用别人看得懂的词来进行命名。 2.格式要统一,要记得缩进,保持行宽,适当添加空格,以及适当空行形成段落,使得代码清晰。 3.添加适当的注释,让人能够看得懂。 4.明确函数的功能,一个函…

如何制作个人网站主页吉林珠海网站建设

ArrayList<String>[] arrayList new ArrayList[3];//不报错 ArrayList<String>[] arrayList new ArrayList<String>[3];//报错 泛型:编译期间检查&#xff0c;运行期间类型擦除 数组&#xff1a;运行期间检查 第一种情况允许的原因: 因为创建了一个未指…

宽屏蓝色企业网站源码修改wordpress文章id

个人主页&#xff1a; 倔强的石头的博客 系列专栏 &#xff1a;C语言指南 C语言刷题系列 系列文章 【C语言基础篇】字符串处理函数&#xff08;一&#xff09;strlen的介绍及模拟实现-CSDN博客 【C语言基础篇】字符串处理函数&#xff08;二&#xff09;strcpy…

OpenAI炸场!Sora 2正式发布,它不只是个视频模型,更是一个社交宇宙!

1、介绍 1.1 Sora2 模型升级点 2024 年 12 月,OpenAI 的 Sora1,瞬间引爆了大众对AI视频生成能力的想象。现在 Sora 2 终于来了,而且更加震撼。 Sora 2不仅仅是Sora 1的简单升级,它是一个在理解和模拟现实世界方面更…

US$11.9 CAN Filter 18 in 1 for Benz/BMW Universal CAN Filter

CAN Filter 18 in 1 Benz/BMW Universal Filter Latest Benz / BMW Universal CAN FilterCAN Filter 18 in 1 Benz/BMW vehicle list:a. Benz Model: Benz 18 types chassis model: S(222), S(221), C(205), C(204), V…

郑州网站建站模板综合门户网站建设

NVP6158简介 NVP6158C是一款4通道通用RX&#xff0c;提供高质量图像的芯片。它接受来自摄像机和其他视频信号的独立4通道通用输入来源。它将4通道通用1M至8M 7.5P视频格式数字化并解码为代表8位ITU-R BT.656/1120 4:2:2格式的数字分量视频&#xff0c;并将单独的BT.601格式与27…

最小二乘问题详解2:线性最小二乘求解

深入探讨了线性最小二乘问题的数值求解方法,重点分析了避免矩阵求逆的QR分解与适用于秩亏情形的SVD分解,并从施密特正交化和特征值理论角度解释了两种分解的数学本质。1. 引言 复习上一篇文章《最小二乘问题详解1:线…

基于python资料挖据的教学监控系统的设计与应用

基于python资料挖据的教学监控系统的设计与应用pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &…

深圳网站外包公司婚恋网站需求分析

我们使用电脑一段时间&#xff0c;由于各种问题&#xff0c;希望将电脑恢复出厂设置&#xff0c;那么windows7电脑怎么恢复出厂设置呢&#xff1f;下面跟着学习啦小编来一起了解下windows7电脑恢复出厂设置的方法吧。windows7电脑恢复出厂设置方法一按下开机键&#xff0c;启动…

2025防腐木厂家权威推荐榜:实力品牌与定制服务深度解析

2025防腐木厂家权威推荐榜:实力品牌与定制服务深度解析在建筑与景观设计领域,防腐木凭借其卓越的耐候性和环保特性,正成为户外工程的首选材料。随着市场需求持续增长,防腐木行业呈现出技术升级与服务细分的发展趋势…

wordpress站点字体修改成品图片的网站在哪里找

最近项目组遇到运维一个投诉&#xff1a;我们的dubbo服务是以接口维度注册到nacos上的&#xff0c;再高峰期无法下线服务维度导致运维风险增加。针对这个问题&#xff0c;我查了下&#xff0c;确实是这样的&#xff0c;因为我们使用的dubbo是3.0以下的&#xff0c;所以注册到注…