2017年6月23日

使用 ARM 的 Mali Graphics Debugger 优化虚幻引擎应用程序

作者 Thomas Poulet

ARM Mali Graphics Debugger 工具可以帮助您优化适合移动平台的图形应用程序。从 UE4.15 开始,在项目中使用 Mali Graphics Debugger 就像在项目设置窗口中选择一个选项一样简单。在虚幻引擎 4.15 中,Epic Games 支持直接在编辑器中对移动设备进行设置。在先前博客文章中,我们讨论了如何在 4.15 之前的引擎版本中启用该功能。以下内容适用于 4.15 及之后的版本,该文章是基于 Mali Graphics Debugger V4.5 编写的。

在虚幻引擎直播中,ARM 工程师精确展示了如何在 UE4 中实现和使用 Mali Graphics Debugger 来调试安卓设备。他们使用 Samsung S7 来展示如何使用实时运行的设备和调试程序来优化项目。

以前,要激活使用 Mali Graphics Debugger 不是一个很容易的事情,但从现在开始,您只需从项目设置窗口中选择对应的选项就能够轻松激活。第一步是打开项目,然后打开项目设置窗口。在左侧菜单中,找到“平台”下列出的安卓。在菜单的平台部分中,找到图形调试程序部分。最后,从下拉菜单中选择 Mali Graphics Debugger。
项目设置

选择后,需要输入 Mali Graphics Debugger 在主机上的安装位置。为此,系统上需要安装有效版本的 Mali Graphics Debugger。此处提供了有关如何安装的更多信息。
设置

下一步是在目标设备上安装 MGD Daemon。为此,找到 MGD 安装文件夹,并使用以下命令在 target\android\arm 中安装 MGDDaemon。

adb install -r MGD.apk


在运行应用之前,需要在主机 PC 上运行以下命令(请先运行“adb devices”命令以确保该设备可见):

adb forward tcp:5002 tcp:5002


在目标手机上运行 MGD Daemon 应用程序,让 Daemon 自动激活:
blogAssets%2F2017%2FJUNE+2017%2FARM+Mali+Graphics+Debugger%2FMALI_03-320x210-7e86bc8fd2479e24c233f50700f517cf87746029

此时,您便可以将设备连接到主机 PC 上的 MGD,启动您的应用程序,然后开始对其进行调试。有关 MGD 用法的更多信息,请参阅 MGD 手册
blogAssets%2F2017%2FJUNE+2017%2FARM+Mali+Graphics+Debugger%2FMALI_04-320x179-5be378c8e481d239e3386e90be947ce82142328b
Mali

在某些情况下您可能有极其复杂的应用程序,游戏线程可能在等待渲染线程时超时。最终在日志中会看到该消息(可以使用命令 adb logcat –s UE4”访问日志):

GameThread timed out waiting for RenderThread after 30.01 secs


在此情况下,只需在虚幻控制台中运行以下命令来禁用超时即可(默认用四个手指点击):

g.TimeoutForBlockOnRenderFence 9999999


执行上述步骤后,应能够在任何基于 Mali 的平台上结合使用 Mali Graphics Debugger 和虚幻引擎应用程序。如有任何疑问,请在社区页面上提出,将会有人竭诚为您提供帮助。