微软 Windows 10 和 Windows 11 集成了 Arm 原生支持,这保证了为 Windows 开发更多 Arm 原生应用。这种支持提供了额外的工具,以简化应用移植、增强应用性能并降低功耗。因此,很多公司目前正在为 Windows 投资 Arm 原生应用。
此前,Arm 曾谈到 Windows on Arm 应用生态系统的良好发展势头,Google Chrome 就是一个很好的例子。与此同时,我们也想通过探索原生 Arm 支持为 Google Chrome 带来的诸多改进来进一步印证这一点。
适用于 Google Chrome 的 AArch64 支持
最新版本的 Google Chrome 增加了对 Windows 的原生 AArch64 支持,为用户带来诸多优势,包括:
提升性能:Arm 原生支持使 Google Chrome 网页浏览速度更快,效率更高,与模拟的 x86 版本相比,性能有了显著提高。
加快网页加载:得益于 Arm 原生支持对脚本、系统任务和渲染过程的优化,原本加载较慢的网站现在能够更快地完成加载。
增强的 JavaScript 执行:在 Arm 原生代码运行时,JavaScript 执行速度明显加快,增强了网页应用和交互元素的响应能力。
延长电池续航时间:Arm 原生代码的高能效使用户可以更长时间地使用设备,而无需频繁充电。
卓越的渲染速度:渲染时间大大缩短,使网页显示变得更快速、更顺畅。
模拟 x86 与 Arm 原生的性能对比
为了更清晰地展示这些优势,我们在 x86_64 架构的 Windows 系统上安装了 Google Chrome (版本号为 125.0.6422.61,官方版),下文简称“Win64”,并在 Windows on Arm 环境中通过模拟方式运行;同时,我们还在 AArch64 架构的 Windows 系统上安装了原生版本的 Chrome,下文简称“Arm64”。我们利用这两个版本的 Chrome 对一个热门新闻网站的性能进行了对比分析。
我们使用 Google Chrome 开发者工具中的“性能”选项卡,量化了加载和渲染速度。
模拟 x86 版本:网站加载耗时近 16 秒,其中脚本(4.4 秒)、系统任务(1.7 秒)和渲染(0.9 秒)花费了大量时间。
Arm 原生版本:脚本时间减少至 1.5 秒(几乎缩短了三倍),系统任务时间减少至 0.4 秒(缩短 4.25 倍),渲染时间减少至 0.18 秒(缩短五倍),表明原生 Arm 执行大大提升了加载和渲染速度。
在其他新闻网站进行的性能测试也得出了类似结果。
Speedometer 3.0 基准测试
我们使用了 Speedometer 3.0 网页浏览器基准测试,来进一步印证 Arm 原生版 Google Chrome 的性能优势。这是一项开源基准测试,通过对不同工作负载下模拟的用户交互进行计时,用来测定网页应用的响应能力。
基准测试任务旨在反映实际网页用例情况,尽管部分细节与 Speedometer 相关,不应作为通用的应用开发实践。该基准测试由主流浏览器引擎(Blink、Gecko 和 WebKit)的团队创建,并得到了 Google、英特尔、微软和 Mozilla 等公司的大力支持。
在模拟 x86 和 Arm 原生版 Google Chrome上运行 Speedometer 3.0 基准测试后(在 Windows Dev Kit 2023 上测试),发现 Arm 原生支持显著增强了网页应用的响应能力。上图显示了 Arm 原生性能得分比模拟 x86 高出三倍多。这进一步凸显了 Windows on Arm 上原生 Arm 应用的出色效率和性能。
用 TensorFlow.js 和 MobileNet 运行推理
TensorFlow.js 是 Google 广受好评的 TensorFlow 库的 JavaScript 实现。它允许开发者在构建交互性强、动态性高的浏览器应用时,运用人工智能 (AI) 和机器学习 (ML) 技术。通过 TensorFlow.js,用户可以直接在客户端环境中训练和部署 AI 模型,轻松实现实时数据处理和分析,无需大量的服务器端计算。
MobileNet 是一类专为移动端和嵌入式视觉应用设计的高效架构,凭借其轻量级设计脱颖而出,能够在计算能力和内存资源有限的设备上实现快速高效的性能。
在使用 TensorFlow 的 Python 应用中,使用 MobileNet 非常简洁明了:
Python:
model = MobileNet(weights='imagenet')
接着,就可以对输入的图像进行预测 (predictions):
predictions = model.predict(input_image)
请参阅教程以获得更好的训练和推理示例。
然后这些预测结果可以转换为实际标签,比如:
print('Predicted:', decode_predictions(predictions, top=3)[0])
这里的 decode_predictions 是一个假设函数,它的作用是将模型分数(概率)转换为描述图像内容的标签。
TensorFlow.js 提供了类似的接口,你可以这样加载 MobileNet 模型:
model_tfjs = awaittf.loadGraphModel(MOBILENET_MODEL_PATH)
等图像预处理完,就可以进行预测了:
predictions = model_tfjs.predict(image)
然后,把这些预测结果转换为标签或类别:
labels = await getTopKClasses(predictions, 3)
如需更好的网页应用示例,请参阅此示例。
我们在模拟 x86 Chrome 网页浏览器和 Arm 原生版 Chrome 中运行了上述网页应用。
下图演示了在 Chrome 网页浏览器中运行的网页应用。该应用的用户界面包含三个核心元素:描述部分、状态指示器和模型输出显示。描述部分介绍了应用是如何创建的。上传图像后,应用立即开始运行,状态组件会实时更新,以显示计算时间。图像处理完成后,模型输出会显示识别出的标签及其相应的分数。
在模拟 x86 Chrome 上,包括图像预处理和 AI 推理在内的总处理时间接近 100 毫秒。而在 Arm 原生版 Google Chrome 上,同样的操作仅花费 35 毫秒(大约为前者的 33%)。由于使用了相同的图像作为输入,因此推理结果(识别的标签和分数)是相同的。
提升真实性能,满足实际需求
在 Google Chrome 的 Windows 版本中集成原生 Arm 支持,可大大提升性能,使网页浏览速度更快、效率更高、响应能力更强。这些改进在一般的网页浏览和特定应用(如包含 MobileNet 的 TensorFlow.js)中都很显著,凸显了 Arm 原生支持在更广泛的计算领域日益增长的重要性。随着更多公司投资适用于 Windows 的 Arm 原生应用,用户可以期待在各类设备和应用上效率和性能的持续提升。
Arm 致力于推动创新,提供前沿技术,赋能开发者并提升用户体验。Arm 原生支持在 Google Chrome 中的成功应用彰显了 Arm 架构在塑造未来计算方面的革新潜力。
若你有兴趣学习如何将应用迁移到 Arm 平台上,欢迎访问 Arm Developer Hub 中的丰富教育资源。
-
微软
+关注
关注
4文章
6719浏览量
107318 -
ARM
+关注
关注
135文章
9499浏览量
388550 -
WINDOWS
+关注
关注
4文章
3694浏览量
93186
原文标题:Arm 原生 Google Chrome 增强 Windows on Arm 性能
文章出处:【微信号:Arm社区,微信公众号:Arm社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
ARM体系结构发展历程 ARM增强了哪些性能
如何在ARM上使用Clang for Windows进行编译
Chrome浏览器将在ARM内核运行,Google Andr
ARM版和x86版Windows 8的区别
微软:ARM处理器运行Windows 10速度接近原生X86
微软谷歌合作开发ARM平台Chrome浏览器
ARM版Chrome浏览器至今未推出,技术问题已解决
谷歌针对苹果M1 Mac的原生版Chrome浏览器现已推出
Adobe Lightroom已原生适配Win10 ARM
Adobe Lightroom 已原生适配 Win10 ARM
Windows on ARM(WOA)优势在哪
Affinity创意套件2.5版新增Windows ARM原生支持,提升图形速度
Adobe Illustrator正式登陆Windows on ARM
值得体验的多款Windows on Arm应用
Arm KleidiAI与XNNPack集成实现AI性能提升

Arm原生Google Chrome增强Windows on Arm性能
评论