微軟 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文章
6741瀏覽量
107866 -
ARM
+關注
關注
135文章
9553瀏覽量
391939 -
WINDOWS
+關注
關注
4文章
3702瀏覽量
94057
原文標題: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性能
評論