0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Arm Mobile Studio 2022.4實現(xiàn)自動性能監(jiān)控等功能

jf_9aVl32Dp ? 來源:Arm軟件開發(fā)者 ? 2023-03-01 14:02 ? 次閱讀

Arm Mobile Studio(https://developer.arm.com/Tools%20and%20Software/Arm%20Mobile%20Studio)在過去幾個版本中進行了多項增強,以支持游戲開發(fā)人員更輕松的進行性能分析。隨著我們的最新版本2022.4現(xiàn)在可以下載,我們采取了一些大膽的舉措-我們的所有專業(yè)功能現(xiàn)在都是免費的,所有人都可以使用。我們還考慮到新用戶的體驗,改進了工具的性能,并添加了分析光追內(nèi)容的新功能,您可以開始測試下一代設(shè)備的性能。

以下是最新版本的一些亮點,以及今年早些時候發(fā)布的一些您可能錯過的亮點。

現(xiàn)在所有人都可以使用專業(yè)CI功能

不再需要購買Arm Mobile Studio專業(yè)許可證才能在持續(xù)集成(CI)工作流中使用這些工具。因為我們相信所有游戲工作室都可以使用可擴展的性能分析,所以我們在免費版本中提供了所有的專業(yè)功能。

為了確保您的移動游戲擁有廣泛的受眾,您需要對盡可能多的設(shè)備進行性能測試。為設(shè)備群中的每個設(shè)備手動執(zhí)行此操作非常耗時和昂貴。此外,您應(yīng)該在整個開發(fā)過程中定期測試內(nèi)容。與在發(fā)布周期結(jié)束時再修補問題相比,在出現(xiàn)問題時就修復(fù)問題要容易得多。

4b3583a8-b06d-11ed-bfe3-dac502259ad0.png

在headless模式下運行Arm Mobile Studio工具,作為連續(xù)集成系統(tǒng)的一部分,可以跨多個設(shè)備進行自動性能測試。每天晚上都要運行這個程序,并獲得每日性能反饋,并可以跟蹤性能隨時間的變化。您可以將報告數(shù)據(jù)導(dǎo)出為CSV和JSON格式的可讀文件,以便在自定義數(shù)據(jù)分析中使用。使用它可以使用任何兼容的數(shù)據(jù)庫和可視化工具(如ELK堆棧)構(gòu)建性能儀表板。

你可以閱讀我們的教程(https://developer.arm.com/documentation/102543/latest/Overview)以幫助您進行設(shè)置。


Android版本變體支持

現(xiàn)在,您可以在運行“eng”或“userdebug”操作系統(tǒng)版本的Android設(shè)備上評測不可調(diào)試的應(yīng)用程序版本。有關(guān)這些構(gòu)建變體的詳細(xì)信息,請參閱Android文檔(https://source.android.com/docs/setup/create/new-device#build-variants)。

支持新的Arm CPUGPU

Arm Mobile Studio工具支持最新的Arm CPU和GPU:
. Cortex-X3(https://www.arm.com/products/cortex-x)
. Cortex-A715(https://developer.arm.com/Processors/Cortex-A715)
. Immortalis-G715(https://developer.arm.com/Processors/Immortalis-G715)
. Mali-G715(https://developer.arm.com/Processors/Mali-G715)
. Mali-G615(https://developer.arm.com/Processors/Mali-G615)


DWARF5調(diào)試支持

Streamline中的軟件評測現(xiàn)在支持使用DWARF5調(diào)試格式的應(yīng)用程序二進制文件。

Streamline中的Mali時間線事件

您現(xiàn)在可以在Streamline中監(jiān)視Mali時間線事件。這有助于您確定GPU調(diào)度問題,其中non-fragment和fragment隊列在整個或部分幀中串行運行。理想情況下,這兩個工作負(fù)載應(yīng)該重疊。如果您看到一個隊列空閑而另一個處于活動狀態(tài)的區(qū)域,則可能存在序列化問題。為了識別可能導(dǎo)致管道等待的問題,可以將計數(shù)器樣本與渲染過程和計算分派相關(guān)聯(lián)。有關(guān)更多信息,請參閱我們推薦的工作負(fù)載流水線(https://developer.arm.com/documentation/102521/0100)和流水線瓶頸(https://developer.arm.com/documentation/102521/0100/Pipeline-Bottlenecks)的最佳實踐。

Mali時間線事件顯示為時間線視圖底部的自定義活動圖。

4b7cf42c-b06d-11ed-bfe3-dac502259ad0.png

有關(guān)如何捕獲Mali時間線事件的說明,請參閱Streamline用戶指南(https://developer.arm.com/documentation/101816/latest/Capture-a-Streamline-profile/Counter-Configuration/Enable-Mali-Timeline-Events)。

注意:此功能需要具有Android Perfetto服務(wù)(https://perfetto.dev/)和兼容的Mali設(shè)備驅(qū)動程序版本r40p0或更高版本的Android 10設(shè)備。


性能增強

在Arm,我們明白工具的可用性至關(guān)重要。這就是為什么在每個版本中,我們都會分配一些工程時間,以使我們的工具運行得更快。這一次,對于Streamline,對于包含大量應(yīng)用程序調(diào)試信息的軟件配置文件,我們顯著改進了分析時間和內(nèi)存占用。

分析一個具有大約3GB調(diào)試信息的示例Unreal Engine項目所需的時間已從25分鐘降至2.5分鐘。

對于OpenGL ES和Vulkan,Performance Advisor從移動設(shè)備上運行的應(yīng)用程序收集幀邊界和屏幕截圖數(shù)據(jù)的機制得到了顯著增強。這種新的實現(xiàn)提高了可靠性并減少了對目標(biāo)應(yīng)用程序的性能影響。

注意:對于OpenGL ES應(yīng)用程序,我們現(xiàn)在只能使用層(layer)驅(qū)動程序收集數(shù)據(jù),這需要Android 10或更高版本。要在早期版本的Android設(shè)備上使用Performance Advisor,您需要從應(yīng)用程序手動發(fā)出所需的幀邊界注釋。有關(guān)如何執(zhí)行此操作的說明,請參閱Performance Advisor用戶指南(https://developer.arm.com/documentation/102009/latest/Adding-semantic-input-to-the-reports/Send-and-include-annotations-from-application-code/Send-annotations-from-your-application-code)。

保存屏幕截圖

捕獲慢幀屏幕截圖(目前僅限OpenGL ES)時,如果上一個屏幕截圖仍在保存,Performance Advisor將跳過屏幕截圖。這消除了應(yīng)用程序中積壓的屏幕截圖導(dǎo)致的性能問題。此外,當(dāng)在未壓縮模式下運行時,屏幕截圖現(xiàn)在保存為.bmp圖像,而不是未壓縮的.png圖像。這將捕獲和寫入屏幕截圖所需的時間從250毫秒減少到80毫秒以下,從而減少了對應(yīng)用程序的性能影響。

Performance Advisor區(qū)域分析

如果應(yīng)用程序使用區(qū)域標(biāo)記(https://developer.arm.com/documentation/102009/latest/Adding-semantic-input-to-the-reports/Send-annotations-from-your-application-code)來指定感興趣的時間區(qū)域,則這些區(qū)域在Performance Advisor的幀速率分析圖表上可見。此外,每個區(qū)域的數(shù)據(jù)將單獨報告。這有助于為報告提供上下文。但是,如果應(yīng)用程序具有多個區(qū)域,則報告的數(shù)據(jù)可能會變得過于精細(xì),從而使報告難以閱讀。

在此版本中,如果某些區(qū)域較短或嵌套在其他區(qū)域之下,您現(xiàn)在可以選擇從Performance Advisor報告中省略這些區(qū)域。這為您提供了對區(qū)域分析方式的更多控制。

4bbaa902-b06d-11ed-bfe3-dac502259ad0.png

生成報告時,使用以下新的pa命令選項(https://developer.arm.com/documentation/102009/latest/Command-line-options/The-pa-command)忽略區(qū)域:
----region-report-min-length=length

報告中省略給定最小長度以下的區(qū)域。

----region-report-max-depth=level

報告中省略區(qū)域?qū)哟谓Y(jié)構(gòu)中比給定級別更深的區(qū)域。


Mali脫機編譯器增強功能

我們對用于著色器分析的性能報告工具Mali Offline Compiler進行了多項增強。

光線(Ray)查詢性能反饋

新的Immortalis-G715在移動設(shè)備中引入了硬件加速光線跟蹤(https://community.arm.com/arm-community-blogs/b/graphics-gaming-and-vr-blog/posts/developing-ray-tracing-content-for-mobile-games),同時支持Vulkan光線查詢和完整光線跟蹤管道。在此版本中,Mali Offline Compiler使用光線查詢和所有光線跟蹤管道階段為內(nèi)容提供反饋。

以下示例報告已識別出碎片著色器中的慢速光線跟蹤:

Mali Offline Compiler v7.8.0 (Build aeadf0)
 Copyright (c) 2007-2022 Arm Limited. All rights reserved.
 
 Configuration
 =============
 
 Hardware: Immortalis-G715 r0p0
 Architecture: Valhall
 Driver: r41p0-00rel0
 Shader type: Vulkan Fragment
 
 Main shader
 ===========
 
 Work registers: 64 (100% used at 50% occupancy)
 Uniform registers: 10 (15% used)
 Ray traversal contexts: 16 objects
 Stack spilling: 32 bytes
 16-bit arithmetic: 0%
 
                                 A      LS       V       T    Bound
 Total instruction cycles:    4.70   64.60    0.03    0.00       LS
 Shortest path cycles:        0.47   19.00    0.03    0.00       LS
 Longest path cycles:          N/A     N/A     N/A     N/A      N/A
 
 A = Arithmetic, LS = Load/Store, V = Varying, T = Texture
 
 Shader properties
 =================
 
 Has uniform computation: true
 Has side-effects: false
 Modifies coverage: false
 Uses late ZS test: false
 Uses late ZS update: false
 Reads color buffer: false
 Has slow ray traversal: true
 
 Note: This tool shows only the shader-visible property state.
 API configuration may also impact the value of some properties.

在主著色器部分,報告顯示編譯器分配的光線遍歷上下文的數(shù)量。每個光線查詢或光線跟蹤管道遍歷至少需要一個遍歷上下文。然而,上下文可能由具有非重疊生存期的多個遍歷共享。有時,單個源查詢或遍歷可能需要多個上下文。多上下文遍歷比單個上下文遍歷慢。

著色器(shader properties)部分報告,如果著色器正在使用至少一個光線遍歷,則著色器具有緩慢的光線遍歷。這迫使編譯器回退到較慢的多上下文遍歷行為。

《Mali Offline Compiler用戶指南》中添加了必須遵循的Vulkan ray查詢最佳實踐指南,以避免緩慢的遍歷路徑(https://developer.arm.com/documentation/101863/latest/Using-Mali-Offline-Compiler/Performance-analysis/Shader-properties)。

頂點著色器(Vertex Shaders)的內(nèi)存分區(qū)建議

從Bifrost架構(gòu)開始的Mali GPU將用戶著色器分為兩部分,一部分計算位置,另一部分計算所有非位置屬性。在幾何體剔除之前只需要位置,因此非位置屬性著色器僅對可見頂點運行。為了最小化冗余內(nèi)存訪問,Mali 最佳實踐(https://developer.arm.com/documentation/101897/latest/Vertex-shading/Attribute-layout)建議您將兩個著色器所需的輸入屬性拆分為兩個壓縮流。Mali 離線編譯器頂點著色器性能報告用于實現(xiàn)Bifrost架構(gòu)或更新版本的Arm GPU,現(xiàn)在報告屬性流的建議內(nèi)存分區(qū)。

 Recommended attribute streams
=============================


Position attributes
  - position (location=dynamic)


Non-position attributes
  - None

預(yù)期著色器核心線程占用率

Mali Offline Compiler現(xiàn)在報告了預(yù)期的著色器核心線程占用率以及寄存器計數(shù)。這減少了對線程占用信息參考外部數(shù)據(jù)表的需要。

Main shader
 ===========
 
 Work registers: 64 (100% used at 50% occupancy)
 Uniform registers: 10 (15% used)
 Ray traversal contexts: 16 objects
 Stack spilling: 32 bytes
 16-bit arithmetic: 0%

更多Mali脫機編譯器功能

以下是我們對Mali Offline Compiler的一些更新:

. 所有實現(xiàn)Valhall體系結(jié)構(gòu)的Arm GPU的性能報告現(xiàn)在都報告了基于微體系結(jié)構(gòu)感知成本模型的單一運算成本。使用--detailed命令行選項,每個算術(shù)指令類型的組件成本仍然可用。
. Bifrost和Valhall架構(gòu)GPU的加載/存儲單位成本模型已得到改進,現(xiàn)在正確地反映了統(tǒng)一加載和堆棧訪問的較低訪問成本。
. 將Bifrost和Valhall架構(gòu)GPU的編譯器后端更新為r41p0
. 更新了Khronos glslangValidator前端,用于將GLSL源代碼編譯為SPIR-V IR,以支持SPIR-V 1.6功能。
. 通過指定--name命令行選項,直接從GLSL源代碼編譯的Vulkan著色器現(xiàn)在可以使用“main()”以外的入口點。
. 增加了對SPIR-V計算內(nèi)核的OpenCL 3.0支持。
. 添加了過濾功能以刪除性能報告中的重復(fù)編譯器警告。



總結(jié)

我們希望您在這個版本中找到一些增強性能分析工作流的東西。無論您是小型獨立開發(fā)人員,還是大型游戲工作室,Arm Mobile studio都具有幫助您的游戲在各種設(shè)備上表現(xiàn)出色的功能。通過我們的免費版,將性能分析按比例構(gòu)建到您的開發(fā)工作流中現(xiàn)在更容易訪問。性能分析現(xiàn)在更快了,您可以更好地控制收集的數(shù)據(jù)。

我們預(yù)計搭載最新Immortalis-G715 GPU的移動設(shè)備將于2023年上市。Mali離線編譯器硬件加速光線跟蹤的新功能有助于深入了解未來移動硬件如何處理光線跟蹤內(nèi)容。

有關(guān)更改、修復(fù)和增強的完整列表以及安裝指南,請參閱2022.4發(fā)行說明(https://developer.arm.com/documentation/107649/2022-4/)。

下載Arm Mobile Studio:https://developer.arm.com/mobile-studio/downloads

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3939

    瀏覽量

    127643
  • 監(jiān)控
    +關(guān)注

    關(guān)注

    6

    文章

    2222

    瀏覽量

    55286
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1639

    瀏覽量

    49197

原文標(biāo)題:Arm Mobile Studio 2022.4實現(xiàn)自動性能監(jiān)控等功能

文章出處:【微信號:Arm軟件開發(fā)者,微信公眾號:Arm軟件開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    ??禂z像頭dll開發(fā),控制,顯示,拍照等功能實現(xiàn)

    利用labview對??低晹z像頭進行開發(fā),具體開發(fā)的流程參考了??甸_發(fā)的SDK,基本實現(xiàn)了畫面顯示,控制,調(diào)焦距,預(yù)置點等功能。具體程序附件,感興趣的可以一塊交流。其中dll為庫文件中的HCNetSDK.dll
    發(fā)表于 07-25 17:42

    沒有自檢、測試面板、創(chuàng)建任務(wù)等功能

    USB接口好為0,設(shè)備狀態(tài)為存在,為什么沒有沒有自檢、測試面板、創(chuàng)建任務(wù)等功能
    發(fā)表于 11-21 23:00

    如何實現(xiàn)基于WinCE的ARM視頻監(jiān)控系統(tǒng)的設(shè)計?

    筆者設(shè)計的一種嵌入式系統(tǒng),以WinCE操作系統(tǒng)和ARM硬件平臺為核心實現(xiàn)了對現(xiàn)場的實時監(jiān)控,并通過無線網(wǎng)絡(luò)把視頻圖像傳輸?shù)街鳈C端,以實現(xiàn)分析、存儲和顯示
    發(fā)表于 06-08 06:32

    如何在驅(qū)動器內(nèi)部實現(xiàn)軌跡規(guī)劃等功能

    微型步進電機驅(qū)動控制器,北京偉恩斯技術(shù)有限公司集驅(qū)動和控制于一體,結(jié)構(gòu)緊湊,便于安裝,廣泛運用于生物儀器、醫(yī)療器械、工業(yè)自動化、多點控制組網(wǎng)矩陣等領(lǐng)域。有脈沖方向型,485總線型,CAN總線型等,通過編程,可在驅(qū)動器內(nèi)部實現(xiàn)軌跡規(guī)劃等功
    發(fā)表于 08-31 07:06

    如何實現(xiàn)定時器輸入捕獲與輸出比較等功能

    通用定時器在基本定時器的基礎(chǔ)上增加了一個外部引腳,可以實現(xiàn)輸入捕獲與輸出比較等功能。高級定時器TIM1與TIM8相比于通用定時器增加了電機控制相關(guān)的功能。輸入捕獲一般應(yīng)用在兩個方面,一個方面是計算脈沖跳變沿時間的方式測量脈寬與頻
    發(fā)表于 01-26 06:02

    Arm Mobile Studio集成到CI工作流中

    如果您的開發(fā)團隊使用CI(持續(xù)集成)系統(tǒng)合并每日代碼更改,則可以使用Arm Mobile Studio在多臺設(shè)備上運行夜間自動設(shè)備性能測試。
    發(fā)表于 08-08 07:42

    ARM Mobile Studio的常見問題解答

    Studio 2019.x入門版許可證已過期。 請下載并安裝最新版本的ARM Mobile Studio以解決此問題。 環(huán)境變量未設(shè)置為使用ARM
    發(fā)表于 08-11 07:27

    請問SEGGER Embedded Studio for ARM 7.32怎么實現(xiàn)代碼自動補全功能

    請問SEGGER Embedded Studio for ARM 7.32怎么實現(xiàn)代碼自動補全功能
    發(fā)表于 08-25 16:24

    請問adau1452可以做AEC ANC等功能嗎?

    adau1452 可以做AEC ANC等功能嗎?
    發(fā)表于 11-29 08:26

    VB_S7-200的PPI通訊,以及監(jiān)控等功能實現(xiàn)

    三菱PLC(可編程邏輯控制器)編程實例項目例程——VB S7-200的PPI通訊,以及監(jiān)控等功能 實現(xiàn)
    發(fā)表于 11-08 17:32 ?38次下載

    Arm Mobile Studio的學(xué)習(xí)資源

    Arm Mobile Studio 是我們免費使用的性能分析工具套件,開發(fā)人員可以在基于Mali的GPU上對其Android應(yīng)用程序進行性能
    發(fā)表于 01-25 18:20 ?3次下載
    <b class='flag-5'>Arm</b> <b class='flag-5'>Mobile</b> <b class='flag-5'>Studio</b>的學(xué)習(xí)資源

    如何在Linux端完成搜索、截圖、訪問網(wǎng)頁等功能

    看看我們?nèi)绾卧贚inux端,完成搜索、截圖、訪問網(wǎng)頁等等功能
    發(fā)表于 12-27 12:14 ?2020次閱讀

    具有天氣、時間等功能的NodeMCU時鐘

    電子發(fā)燒友網(wǎng)站提供《具有天氣、時間等功能的NodeMCU時鐘.zip》資料免費下載
    發(fā)表于 02-03 09:49 ?0次下載
    具有天氣、時間<b class='flag-5'>等功能</b>的NodeMCU時鐘

    Arm Mobile Studio 2022.4實現(xiàn)自動性能監(jiān)控等功能

    不再需要購買Arm Mobile Studio專業(yè)許可證才能在持續(xù)集成(CI)工作流中使用這些工具。因為我們相信所有游戲工作室都可以使用可擴展的性能分析,所以我們在免費版本中提供了所有
    的頭像 發(fā)表于 02-24 09:55 ?1039次閱讀

    Helix QAC 2022.4 中的新增功能

    HelixQAC2022.4為MISRAC:2012AMD3提供了100%的規(guī)則覆蓋,數(shù)據(jù)流被拆分為一個新的組件,提供了改進的分析性能,并升級了對C++20和C23的語言支持。此外,此版本還包括改進
    的頭像 發(fā)表于 03-06 14:36 ?697次閱讀
    Helix QAC <b class='flag-5'>2022.4</b> 中的新增<b class='flag-5'>功能</b>