使用Arm Mobile Studio 2020.3可以更轻松地进行Android分析
彼得·哈里斯
2021年1月11日
我们刚刚发布了Mobile Studio 2020.3,这是我们用于Android应用程序开发的性能分析工具套件。这是一个里程碑式的发布,它提供了自从在GDC 2019上启动Studio以来我们一直在谈论的一系列生活质量改进中的最后一部分。
设备连接:即按即用
到目前为止,Streamline和Graphics Analyzer都依靠帮助程序脚本来建立与目标设备的连接。这些脚本允许用户指定要分析的目标应用程序,将我们的工具组件推送到该应用程序的数据目录,并执行该工具所需的任何其他设备配置。它们是一个有用的权宜之计。使用脚本比手工运行命令要容易得多,但是我们知道,强迫用户运行命令行脚本远非理想的体验。
好吧,没有更多了。在此版本中,使用主机工具的开发人员只需在主机工具GUI中的可调试应用程序列表中选择其应用程序,然后单击以进行连接。至少没有交互终端,没有更多的终端窗口和脚本。在这里查看新流程:
构建一个应用程序,以统治他们所有
Vulkan API设计时采用了工具层驱动程序的概念– API拦截器,可以将其插入应用程序和基础图形驱动程序之间,以添加支持API的工具功能。Android 10扩展了此支持,以添加用于OpenGL ES的层驱动程序,这是一个了不起的功能,它确实使开发OpenGL ES工具更容易,更可靠。现在,我们用于Android 10及更高版本的所有工具都使用这些标准层驱动程序机制来实现API监视。
这里的挑战是支持较旧的Android设备-我们与之交谈的大多数开发人员仍将最低运行要求定位于运行Android 8和9的设备。在早期的Mobile Studio版本中,这会导致Graphics Analyzer的工作流出现分支,要求用户进行两次应用程序构建。在Android 9或更早版本上对OpenGL ES应用程序进行性能分析需要构建应用程序,以便在构建时将拦截器库集成到应用程序中。在Android 10或更高版本上进行性能分析要求应用程序不执行此操作,并使用分层方法。我们必须管理两个版本,并记住为要配置的设备选择正确的版本,这是我们认为您都可以做到的麻烦。
在此版本的Graphics Analyzer中,我们很高兴地宣布,在构建时不再需要将任何GA组件集成到您的应用程序中。您需要的只是可调试的应用程序构建。我们将在可能的地方使用Android中的层驱动程序,但是如果不可用,我们现在可以使用Android调试接口在运行时注入OpenGL ES层。从用户的角度来看,无论您做什么,现在都只需要管理一个构建配置。
Streamline中的Mali GPU配置
在此版本中,我们公开了有关目标设备的Mali GPU配置的更多信息,这些信息现在可以作为自定义表达式中的变量使用。
$MaliConstantsShaderCoreCount :实现的着色器核心数
$MaliConstantsL2SliceCount :实现的二级缓存片的数量
$MaliConstantsBusWidthBits :GPU的内存总线接口的宽度
Mali GPU模板已更新为在适当的地方使用它们,从而纠正了Mali GPU停顿率的一个长期存在的图形错误。在早期版本中,具有多个L2缓存片的大型Mali配置会高估停顿率,因为它是通过片数进行缩放的。现在,它已正确归一化。
灵活的Performance Advisor报告
我们的Performance Advisor报告旨在重点关注图形工作负载的关键性能指标,从而使开发人员可以专注于重要行为并避免陷入细节。
在以前的版本中,我们仅支持固定报告,其中显示了我们手工挑选的指标。在这些报告中,我们已经请求更多(或更少)图表,因此此版本允许开发人员使用自定义图表模板,该模板可以选择Streamline捕获中可用的任何计数器。
马里离线编译器,键入更少
此发行版对Mali脱机编译器的生活质量进行了一些细微但有用的改进。
现在,从SPIR-V二进制文件编译Vulkan着色器所需的键入次数大大减少。该工具现在可以自动识别输入文件是SPIR-V二进制文件,以及二进制文件使用的着色器类型和入口点名称。7.2中的此命令:
malioc --spirv --vertex -n foo。\ samples \ vulkan \ shader-entrypoint-foo.vert.spv
…在7.3中变成这样:
malioc。\ samples \ vulkan \ shader-entrypoint-foo.vert.spv
此外,我们进行了一些改进,使将Mali Offline Compiler集成到多工具管道中变得更加容易。现在,您可以指定“-”作为输入文件,这将告诉工具从stdin读取,而不是从磁盘上的文件读取。现在,您可以将“ -o/--output”指定为输出文件,这将告诉该工具写入磁盘上的文件,而不是标准输出。
更多支持的设备
对于此版本,我们还购买并测试了另外两个设备,这些设备已添加到我们支持的设备页面(https://developer.arm.com/mobile-studio/devices):
- 三星Galaxy A51,带有三星Exynos 9611芯片组。
- OPPO Reno3 5G,带有联发科技Dimensity 1000L芯片组。
更多ASTC压缩性能
在Arm Mobile Studio之外,我们还很高兴地宣布发布astcenc 2.2,这是我们的ASTC纹理压缩器的最新版本。此版本的重点包括:
- 更高的压缩性能。
- 库API的改进可简化图像传递。
- 用于法线贴图归一化和预乘alpha色彩通道的CLI图像预处理操作。
- 运行Apple芯片的macOS的二进制版本。
- 有关更多信息,请参见GitHub发布页面。
更多信息
使用我们的最新新闻流,与最新工具新闻,博客和培训材料保持同步。