2016.11.29

打造含有 Mali Graphics Debugger 支持的虚幻引擎应用程序

作者 Thomas Poulet ARM Mali Graphics

ARM 的 Mali Graphics Debugger (MGD) 允许开发者追踪应用程序中的 Vulkan、OpenGL ES、EGL 和 OpenCL API 的调用,以逐帧了解这些调用的效果,从而帮助识别代码中可能存在的瓶颈。此博客介绍了开发者如何向虚幻引擎应用程序添加对非 root 设备上的 MGD 的支持。

blogAssets%2F2016%2FNovember+2016%2FNOV29_ARMMaliGraphicsDebugger%2F770_Epic_Citadel_with_MGD-770x458-3e605439d65d30668f907945b9bf8cebf1fb64c9

我们在此采用的方案十分简单:

  • 向构建系统添加拦截器库
  • 编辑用于加载拦截器库的活动
  • 在目标设备上安装 MGD Daemon 应用程序

 

在第一步中,我们将需要从 GitHub 上的各种来源下载一个版本的虚幻引擎应用程序。有关此步骤的更多信息,请参阅 Epic 指南

获得可用的虚幻引擎副本后,下一步主要是让 MGD 能够运行起来。首先,您需要在 MGD 安装目录中找到 android-non-root 文件夹及虚幻引擎的安装文件夹(将存储库克隆到的位置)。将 android-non-root 文件夹复制到 Engine\Build\Android\Java\ 目录下。

接下来,我们需要修改 Android 的 makefile 文件以确保拦截器能够正常打包到引擎构建中。为此,需要编辑 Engine/Build/Android/Java/jni/ 目录下的 Android.mk 文件,在其末尾添加这样一行文本:include $(LOCAL_PATH)/../android-non-root/MGD.mk。修改后的文件如下如下所示:

 


blogAssets%2F2016%2FNovember+2016%2FNOV29_ARMMaliGraphicsDebugger%2FARM_Mali_Text_1-770x150-a2c6cc3438321dfcd31c52c69ec7273da9bb546b

现在我们将指定加载 MGD 库所需的主要游戏活动,找到 Engine\Build\Android\Java\src\com\epicgames\ue4\ 目录下的 GameActivity.java,然后编辑 onCreate 函数。修改后的文件如下所示:

blogAssets%2F2016%2FNovember+2016%2FNOV29_ARMMaliGraphicsDebugger%2FARM_Mali_Text_2-770x248-ca951201784e122b7b7420b4acde4247a305eef6

这样一来,引擎方面的准备就全做好了。接下来我们要准备设备。保持 android-non-root 文件夹打开,同时使用下面的命令将 MGD Daemon 安装到目标手机上:

blogAssets%2F2016%2FNovember+2016%2FNOV29_ARMMaliGraphicsDebugger%2FARM_Mali_Text_3-770x23-1e353d47e3c9672b132dea3ac9e6a2e11c4e3b0c

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

blogAssets%2F2016%2FNovember+2016%2FNOV29_ARMMaliGraphicsDebugger%2FARM_Mali_Text_4-770x22-cce33de0cd6aee4c96edacbde4d48d5e42f9e2db

在目标手机上运行 MGD Daemon 应用程序,让 Daemon 自动激活:

blogAssets%2F2016%2FNovember+2016%2FNOV29_ARMMaliGraphicsDebugger%2FARM_Mali_Text_5-770x248-c7923709ea768477e70cc401e0cd36278b4d2d4b

此时,您便可以将它连接到主机 PC 上的 MGD,启动您的应用程序,然后开始对其进行调试。有关 MGD 用法的更多信息,请参阅 MGD 手册。

执行上述步骤后,应能够在任何基于 Mali 的平台上结合使用 MGD 和虚幻引擎应用程序。如需更多信息或有疑问,请联系 ARM Mali graphics Connected Community

blogAssets%2F2016%2FNovember+2016%2FNOV29_ARMMaliGraphicsDebugger%2Fcitadel-frame-analysis3-scaled1-0613777c5147b6b1d93338d7e77e85bdaa8c942d

最近文章

超越想象:视觉设计的驾乘体验

什么是体验设计?了解各大企业如何使用强大的虚幻引擎和实时技术以全新方式实现作品的驾乘体验。

虚幻引擎设计制造实时可视化网络研讨会

准备好迎接更快速更高效的实时产品设计流程了吗?本次网络研讨会绝对不容错过!

2018:游戏行业迎来虚幻大年

随着各大游戏媒体纷纷选定自己最期待的2018年游戏,我们发现这些榜单上随处可见备受期待的虚幻引擎作品!