0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Arm Mobile Studio 2022.4实现自动性能监控等功能

安芯教育科技 来源:Arm软件开发者 2023-02-24 09:55 次阅读

Arm Mobile Studio(https://developer.arm.com/Tools%20and%20Software/Arm%20Mobile%20Studio)在过去几个版本中进行了多项增强,以支持游戏开发人员更轻松的进行性能分析。随着我们的最新版本2022.4现在可以下载,我们采取了一些大胆的举措-我们的所有专业功能现在都是免费的,所有人都可以使用。我们还考虑到新用户的体验,改进了工具的性能,并添加了分析光追内容的新功能,您可以开始测试下一代设备的性能。

以下是最新版本的一些亮点,以及今年早些时候发布的一些您可能错过的亮点。

现在所有人都可以使用专业CI功能


不再需要购买Arm Mobile Studio专业许可证才能在持续集成(CI)工作流中使用这些工具。因为我们相信所有游戏工作室都可以使用可扩展的性能分析,所以我们在免费版本中提供了所有的专业功能。

为了确保您的移动游戏拥有广泛的受众,您需要对尽可能多的设备进行性能测试。为设备群中的每个设备手动执行此操作非常耗时和昂贵。此外,您应该在整个开发过程中定期测试内容。与在发布周期结束时再修补问题相比,在出现问题时就修复问题要容易得多。

fd3c31e0-b3de-11ed-bfe3-dac502259ad0.png

在headless模式下运行Arm Mobile Studio工具,作为连续集成系统的一部分,可以跨多个设备进行自动性能测试。每天晚上都要运行这个程序,并获得每日性能反馈,并可以跟踪性能随时间的变化。您可以将报告数据导出为CSV和JSON格式的可读文件,以便在自定义数据分析中使用。使用它可以使用任何兼容的数据库和可视化工具(如ELK堆栈)构建性能仪表板。

你可以阅读我们的教程https://developer.arm.com/documentation/102543/latest/Overview)以帮助您进行设置。

Android版本变体支持


现在,您可以在运行“eng”或“userdebug”操作系统版本的Android设备上评测不可调试的应用程序版本。有关这些构建变体的详细信息,请参阅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调试支持


Streamline中的软件评测现在支持使用DWARF5调试格式的应用程序二进制文件。

Streamline中的Mali时间线事件



您现在可以在Streamline中监视Mali时间线事件。这有助于您确定GPU调度问题,其中non-fragment和fragment队列在整个或部分帧中串行运行。理想情况下,这两个工作负载应该重叠。如果您看到一个队列空闲而另一个处于活动状态的区域,则可能存在序列化问题。为了识别可能导致管道等待的问题,可以将计数器样本与渲染过程和计算分派相关联。有关更多信息,请参阅我们推荐的工作负载流水线(https://developer.arm.com/documentation/102521/0100)和流水线瓶颈(https://developer.arm.com/documentation/102521/0100/Pipeline-Bottlenecks)的最佳实践。

Mali时间线事件显示为时间线视图底部的自定义活动图。

fd773312-b3de-11ed-bfe3-dac502259ad0.png

有关如何捕获Mali时间线事件的说明,请参阅Streamline用户指南(https://developer.arm.com/documentation/101816/latest/Capture-a-Streamline-profile/Counter-Configuration/Enable-Mali-Timeline-Events)。

注意:此功能需要具有Android Perfetto服务(https://perfetto.dev/)和兼容的Mali设备驱动程序版本r40p0或更高版本的Android 10设备。

性能增强


在Arm,我们明白工具的可用性至关重要。这就是为什么在每个版本中,我们都会分配一些工程时间,以使我们的工具运行得更快。这一次,对于Streamline,对于包含大量应用程序调试信息的软件配置文件,我们显著改进了分析时间和内存占用。

分析一个具有大约3GB调试信息的示例Unreal Engine项目所需的时间已从25分钟降至2.5分钟。

对于OpenGL ES和Vulkan,Performance Advisor从移动设备上运行的应用程序收集帧边界和屏幕截图数据的机制得到了显著增强。这种新的实现提高了可靠性并减少了对目标应用程序的性能影响。

注意:对于OpenGL ES应用程序,我们现在只能使用层(layer)驱动程序收集数据,这需要Android 10或更高版本。要在早期版本的Android设备上使用Performance Advisor,您需要从应用程序手动发出所需的帧边界注释。有关如何执行此操作的说明,请参阅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将跳过屏幕截图。这消除了应用程序中积压的屏幕截图导致的性能问题。此外,当在未压缩模式下运行时,屏幕截图现在保存为.bmp图像,而不是未压缩的.png图像。这将捕获和写入屏幕截图所需的时间从250毫秒减少到80毫秒以下,从而减少了对应用程序的性能影响。

Performance Advisor区域分析


如果应用程序使用区域标记(https://developer.arm.com/documentation/102009/latest/Adding-semantic-input-to-the-reports/Send-annotations-from-your-application-code)来指定感兴趣的时间区域,则这些区域在Performance Advisor的帧速率分析图表上可见。此外,每个区域的数据将单独报告。这有助于为报告提供上下文。但是,如果应用程序具有多个区域,则报告的数据可能会变得过于精细,从而使报告难以阅读。

在此版本中,如果某些区域较短或嵌套在其他区域之下,您现在可以选择从Performance Advisor报告中省略这些区域。这为您提供了对区域分析方式的更多控制。

fd95ea14-b3de-11ed-bfe3-dac502259ad0.png

生成报告时,使用以下新的pa命令选项(https://developer.arm.com/documentation/102009/latest/Command-line-options/The-pa-command)忽略区域:----region-report-min-length=length

报告中省略给定最小长度以下的区域。

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

报告中省略区域层次结构中比给定级别更深的区域。

Mali脱机编译器增强功能


我们对用于着色器分析的性能报告工具Mali Offline Compiler进行了多项增强。

光线(Ray)查询性能反馈


新的Immortalis-G715在移动设备中引入了硬件加速光线跟踪(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使用光线查询和所有光线跟踪管道阶段为内容提供反馈。

以下示例报告已识别出碎片着色器中的慢速光线跟踪:

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.

在主着色器部分,报告显示编译器分配的光线遍历上下文的数量。每个光线查询或光线跟踪管道遍历至少需要一个遍历上下文。然而,上下文可能由具有非重叠生存期的多个遍历共享。有时,单个源查询或遍历可能需要多个上下文。多上下文遍历比单个上下文遍历慢。

着色器(shader properties)部分报告,如果着色器正在使用至少一个光线遍历,则着色器具有缓慢的光线遍历。这迫使编译器回退到较慢的多上下文遍历行为。

《Mali Offline Compiler用户指南》中添加了必须遵循的Vulkan ray查询最佳实践指南,以避免缓慢的遍历路径(https://developer.arm.com/documentation/101863/0708/Using-Mali-Offline-Compiler/Performance-analysis/Shader-properties)。

顶点着色器(Vertex Shaders)的内存分区建议


从Bifrost架构开始的Mali GPU将用户着色器分为两部分,一部分计算位置,另一部分计算所有非位置属性。在几何体剔除之前只需要位置,因此非位置属性着色器仅对可见顶点运行。为了最小化冗余内存访问,Mali 最佳实践(https://developer.arm.com/documentation/101897/latest/Vertex-shading/Attribute-layout)建议您将两个着色器所需的输入属性拆分为两个压缩流。Mali 离线编译器顶点着色器性能报告用于实现Bifrost架构或更新版本的Arm GPU,现在报告属性流的建议内存分区。


	




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




Position attributes
  - position (location=dynamic)




Non-position attributes
  - None

预期着色器核心线程占用率


Mali Offline Compiler现在报告了预期的着色器核心线程占用率以及寄存器计数。这减少了对线程占用信息参考外部数据表的需要。

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的一些更新:

  • 所有实现Valhall体系结构的Arm GPU的性能报告现在都报告了基于微体系结构感知成本模型的单一运算成本。使用--detailed命令行选项,每个算术指令类型的组件成本仍然可用。

  • Bifrost和Valhall架构GPU的加载/存储单位成本模型已得到改进,现在正确地反映了统一加载和堆栈访问的较低访问成本。

  • 将Bifrost和Valhall架构GPU的编译器后端更新为r41p0

  • 更新了Khronos glslangValidator前端,用于将GLSL源代码编译为SPIR-V IR,以支持SPIR-V 1.6功能。

  • 通过指定--name命令行选项,直接从GLSL源代码编译的Vulkan着色器现在可以使用“main()”以外的入口点。

  • 增加了对SPIR-V计算内核的OpenCL 3.0支持。

  • 添加了过滤功能以删除性能报告中的重复编译器警告。

总结


我们希望您在这个版本中找到一些增强性能分析工作流的东西。无论您是小型独立开发人员,还是大型游戏工作室,Arm Mobile studio都具有帮助您的游戏在各种设备上表现出色的功能。通过我们的免费版,将性能分析按比例构建到您的开发工作流中现在更容易访问。性能分析现在更快了,您可以更好地控制收集的数据。

我们预计搭载最新Immortalis-G715 GPU的移动设备将于2023年上市。Mali离线编译器硬件加速光线跟踪的新功能有助于深入了解未来移动硬件如何处理光线跟踪内容。


审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    8963

    浏览量

    364918
  • 监控
    +关注

    关注

    6

    文章

    2121

    浏览量

    54874
  • 应用程序
    +关注

    关注

    37

    文章

    3195

    浏览量

    57344

原文标题:Arm Mobile Studio 2022.4实现自动性能监控等功能 - 极术社区

文章出处:【微信号:Ithingedu,微信公众号:安芯教育科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    监控报警系统方案Sub-1G无线收发芯片

    增益放大器(PGA)进行滤波和放大。处理过的中频信号通过高性能的sigma-delta ADC转化为数字域。内置的DSP完成滤波、解调、自动增益控制、RSSI检测、数据包处理等功能。 芯片内部的高精度
    发表于 08-27 10:30

    具备数据采集、储存和传输,数据处理、分析及报警,应急智能处置等功能的XKCON祥控封闭储煤场安全监测系

    XKCON祥控封闭储煤场安全监测系统在无人值守的情况下,实现全天候自动监测,具备数据采集、储存和传输,数据处理、分析及报警,应急智能处置等功能,为煤场安全监管提供精确的数据支持,在煤矿、火电厂等企业的应用越来越广泛。
    的头像 发表于 08-01 16:29 88次阅读
    具备数据采集、储存和传输,数据处理、分析及报警,应急智能处置<b class='flag-5'>等功能</b>的XKCON祥控封闭储煤场安全监测系

    实现工厂自动化,工业路由器的强大功能

    工业路由器具备路由、交换、安全、无线等功能实现设备互联、数据传输、网络安全保障和无线网络覆盖,助力工厂自动化。其应用可提升生产效率、降低运营成本、提高管理效率,适应智能制造发展趋势。
    的头像 发表于 06-06 14:44 128次阅读
    <b class='flag-5'>实现</b>工厂<b class='flag-5'>自动</b>化,工业路由器的强大<b class='flag-5'>功能</b>

    无线采发仪,轻松实现数据接力:NLM5xx可作为无线中继器,连接不同设备,实现数据转发、汇总等功能

    无线采发仪,轻松实现数据接力:NLM5xx可作为无线中继器,连接不同设备,实现数据转发、汇总等功能 NLM5xx是一台低功耗的多通道无线采发仪,采用了我们公司的传感测量、无线通讯和功耗控制技术累积
    的头像 发表于 04-24 09:05 202次阅读

    基于GD32H759的嵌入式运动控制高效解决方案

    在系统中ARM是主处理器,用来实现系统的触发、系统命令的发送、任务调度、切换等功能。FPGA是接收并解析ARM处理好的数据,并最终根据ARM
    发表于 04-18 09:53 306次阅读
    基于GD32H759的嵌入式运动控制高效解决方案

    无人化与自动化升级改造工程 变电站远程智能辅助监控系统

    变电站内智能辅助监控技术得到大幅提升,实现站内真正无人值班已为可能。通过安装网络摄像仪、传感器、控制器等手段,实现数据采集、红外遥控、远程控制等功能,达到对站内辅助系统的实时监视和控制
    的头像 发表于 04-17 11:22 462次阅读
    无人化与<b class='flag-5'>自动</b>化升级改造工程  变电站远程智能辅助<b class='flag-5'>监控</b>系统

    工厂设备远程监控系统是什么?工厂设备远程监控系统的功能特点

    工厂设备远程监控系统是一种现代化的工业自动化解决方案,它利用先进的信息技术(如物联网、云计算、大数据等)和通信技术,实现对工厂内各类生产设备的远程实时监控、数据采集、状态分析、故障预警
    的头像 发表于 04-07 15:58 622次阅读

    对智能家居的远程控制是如何实现的呢?哪些芯片起到主要作用?

    家居电器设备控制是指通过远程控制或自动化控制的方式,实现对家居电器设备的开关、调节、监控等功能
    的头像 发表于 01-16 18:26 6052次阅读
    对智能家居的远程控制是如何<b class='flag-5'>实现</b>的呢?哪些芯片起到主要作用?

    PLC转MQTT物联网上位机监控系统如何实现

    、历史数据查询等功能实现多种现场智能应用。 数之能提供PLC转MQTT的物联网上位机监控系统。通过接入多种场景现场的PLC进行数据采集和标准化处理,实现设备状态、工艺参数、报警信息、
    的头像 发表于 12-29 11:06 463次阅读

    自动化PLC通过工业物联网平台实现远程监控和远程维护

    高效、智能与便利等管理目标。 数之能提供接入多种PLC的工业物联网平台,帮助实现设备的远程监控和远程维护等功能。它是一个开放式、高并发的工业物联网平台,不限制各品牌PLC设备的接入,开放大多数设备连接协议和API接口,同时提
    的头像 发表于 12-26 14:16 480次阅读

    直流电机性能测试系统功能特点

    直流电机性能测试系统是一种采用虚拟仪器柔性技术的测试平台,通过工控机与数字采集卡的配合,实现信号采集和逻辑判断等功能。该系统能自动化地完成直流电机的
    的头像 发表于 12-19 15:28 678次阅读
    直流电机<b class='flag-5'>性能</b>测试系统<b class='flag-5'>功能</b>特点

    请问adau1452可以做AEC ANC等功能吗?

    adau1452 可以做AEC ANC等功能吗?
    发表于 11-29 08:26

    基于ARM的智能家居安防监控系统的设计与实现

    电子发烧友网站提供《基于ARM的智能家居安防监控系统的设计与实现.pdf》资料免费下载
    发表于 11-07 10:53 0次下载
    基于<b class='flag-5'>ARM</b>的智能家居安防<b class='flag-5'>监控</b>系统的设计与<b class='flag-5'>实现</b>

    基于ARM和GPRS的光纤直放站监控系统的设计与实现

    电子发烧友网站提供《基于ARM和GPRS的光纤直放站监控系统的设计与实现.pdf》资料免费下载
    发表于 10-27 09:40 0次下载
    基于<b class='flag-5'>ARM</b>和GPRS的光纤直放站<b class='flag-5'>监控</b>系统的设计与<b class='flag-5'>实现</b>

    基于ARM9的无线环境监控系统的实现

    电子发烧友网站提供《基于ARM9的无线环境监控系统的实现.pdf》资料免费下载
    发表于 10-11 14:53 0次下载
    基于<b class='flag-5'>ARM</b>9的无线环境<b class='flag-5'>监控</b>系统的<b class='flag-5'>实现</b>