搜索 Unity

全新Arm Mobile Studio for Unity软件包,增强移动端性能分析

2021年6月1日 类别 Engine & platform | 10 分 阅读
Mobile Studio Unity Plugin Hero Image
Mobile Studio Unity Plugin Hero Image
分享

Is this article helpful for you?

Thank you for your feedback!

Arm Mobile Studio 是一套专门用于帮助移动游戏开发者管理并优化性能(具体针对Arm CPU 和 Mali GPU 驱动的移动设备)的免费分析工具。可辅助识别和解决各种性能问题。如今,Mobile Stuidio为Unity推出了全新的插件,让移动游戏的性能优化更加简单。 

该插件支持将注解以简单的方式合并到项目中,然后在Arm Mobile Studio的StreamlinePerformance Advisor中显示。这些注释能提供详细的上下文,让你能查看游戏特定时间点发生的行为或事件,及其相应的后果。

比如,你可以在Streamline的时间轴上查看注解。下例中的标记标出了游戏中某一波敌人的生成时机:

Mobile Studio Unity Plugin 1

通过给游戏运行轴加上开始与结束标记,Performance Advisor便可以为每条轴单独生成分析报告。本例中就展示出了“Battle(战斗)”轴上的性能信息:

Mobile Studio Unity Plugin 2

软件安装

Mobile Studio支持Unity 2018.4 LTS及以上版本。请使用Unity Package Manager安装软件:

1. 打开Unity 项目,选择 Window > Package Manager打开窗口。

Mobile Studio Unity Plugin 3

2. 在Package Manager中,单击“+' 图标,选择 Add package from git URL...

Mobile Studio Unity Plugin 4

3.在框中输入下方URL,然后点击 Add(添加)

https://github.com/ARM-software/mobile-studio-integration-for-unity.git

软件将被自动导入项目,在列表中列出:

Mobile Studio Unity Plugin 5

Annotations(添加注解)

在安装启动软件后,我们看看各种注解的使用方式。

Marker(标记)

标记是位于Streamline时间轴顶部的简单注解。调用Mobile Studio库便能添加标记。例如:

Mobile Studio Unity Plugin 6

你也可以传入Color参数,来设定Streamline上标记的颜色,例如:

Regions(运行段)

你能以一对“Region Start”和“Region End”标记来划定游戏中的分析区域。这些段落将包括在Performance Advisor报告的帧速率分析图上,并在报告末尾形成专门的分析图。

Mobile Studio Unity Plugin 7

可以在感兴趣的段落上添加前缀为“Region Start”和“Region End”的标记,示例如下:

注意: 在分析Unity 2021.2及以上版本构建的应用程序时,Performance Advisor无法从Android 9设备上记录帧数据。更多问题请查看该Q&A话题

Channels(频道)

一段频道是在某个线程上的自定义事件时间轴。你可在创建好的频道中加入注解。类似标记,注解同样带有文本标签和颜色属性,但不同的是,注解可横跨一段时间范围。

要创建频道:

在Streamline中选择Core Map视图,所有频道都将在UnityMain线程下显示:

Mobile Studio Unity Plugin 8

Custom Activity Maps(自定义活动图)

自定义活动图(CAM)是一组全局时间轴(不限于某个线程)。每张CAM都有自己的视窗、名称,一般位于Streamline UI的下方,由多条轨道组成,每条轨道会在CAM中显示各自的名称与轴。每次活动都会以预注册job的形式记录到轨道中。

要想新建轨道并将其添加到CAM中:

在组建完CAM后,你可以用以下方法之一在轨道内注册一个任务(Job):第一种是在活动开始之际创建任务,在结束时同时结束任务(Job),流程与添加注解类似。详见下方:

另一种方法是记录活动的开始和结束时间,随后再将其添加到轨道中:

第二种方法的优点是getTime()方法不会占用过多CPU处理时间。它也可以从 Unity Job Scheduler的Job中安全地调用。

你可以在Streamline的CAM中来查看所有已添加的轨道和Job:

Mobile Studio Unity Plugin 9

使用Streamline和Performance Advisor记录运行

在给游戏添加完注释后,你便能构建一个开发版,部署到设备上进行测试。你可以使用Streamline记录运行数据、生成Performance Advisor报告,报告中将包含所有的注释。下方视频将介绍整个过程:

此内容由第三方提供商托管,该第三方提供商不允许在未接受“Targeting Cookies”的情况下观看视频。如果想观看来自这些提供商的视频,请将“Targeting Cookies”的 Cookie 首选项设置为“是”。

在发行版中删除软件

你还可以编写预处理代码,将软件从发行版本中删除,来省去修改脚本的必要,避免代码出错:

1. 如果版本中尚未存在指明哪些脚本引用了Mobile Studio API的Assembly Definition文件,请创建一个。在Project View的目标文件夹下右击选择Create > Assembly Definition

2. 在asmdef文件中加入以下内容:

   a. 在Assembly Definition References下,添加MobileStudio.Runtime。

   b. 在Version Defines下,添加如下规则:

  • Set Resource to com.arm.mobile-studio
  • Set Define to MOBILE_STUDIO
  • Set Expression to 1.0.0 

如果项目中装有com.arm.mobile-studio软件,且版本大于1.0.0,Unity会定义一个MOBILE_STUDIO。

3. 在代码中,用MOBILE_STUDIO标注Mobile Studio API:

#if MOBILE_STUDIO // Package usage #endif

 

新的Mobile Studio软件可帮助开发者充分利用Arm Mobile Studio工具,进一步洞察应用的性能表现,以达到进一步优化游戏的目的。

软件的完整文档可在此处查看。如果你尚未尝试过Arm Mobile Studio工具,软件完全免费,并带有详尽的入门指南。 

Arm和Unity将进一步加深合作,力求实现更为完善的移动端分析工具集成,欢迎广大用户前来反馈

2021年6月1日 类别 Engine & platform | 10 分 阅读

Is this article helpful for you?

Thank you for your feedback!