Oculus开发:用Unreal Insights快速发现瓶颈、性能峰值、线程模式等

查看引用/信息源请点击:映维网

可允许你快速发现瓶颈、性能峰值和线程模式等等

映维网 2021年07月13日Unreal Insights是一个优秀的剖析工具,可允许你快速发现瓶颈、性能峰值和线程模式等等。Oculus就建议,为Quest构建游戏或应用的Unreal开发者可以将它纳入至自己的工具箱中。设置过程非常简短,而且是一劳永逸。下面这篇博文将向你介绍具体的操作步骤。

1. 要求

  1. Unreal 4.24版本及以上

  2. 在内置开发应用中启用跟踪功能(默认情况下已启用)

  3. 构建或下载Unreal Insights可执行文件(< CloneDir>\UnrealEngine\Engine\Binaries\Win64\UnrealInsights.exe and Solution ‘UE4’ > Programs > UnrealInsights in solution explorer)

2. 步骤

第一步. 安装开发应用并验证是否存在/sdcard/UE4Game/< ProjectName>。你第一次可能需要以二进制形式启动游戏,以创建关联的UE4项目目录。

第二步. 指示adb经由设备通过USB建立的TCP连接传递(Unreal Insights侦听TCP端口1980):adb reverse TCP:1980 TCP:1980

第三步. 编辑UE4CommandLine.txt文件以执行所需操作:

  • 在< CloneDir>\UnrealEngine\Engine\Build\Android\UE4Game中找到模板文件

  • 找到UE4CommandLine.txt.template并复制/粘贴它,然后删除末尾的.template扩展名

  • 随意修改这一文件(请参见这些步骤下面的格式作为指南)

第四步. 将所需的UE4CommandLine.txt文件复制到项目的根目录

  • Adb push UE4CommandLine.txt/sdcard/UE4Game/< ProjectDir>/

第五步. 打开UnrealInsights.exe,如果需要,勾选“Auto-start analysis for LIVE trace sessions”

第六步. 戴上头显并运行map。这时你应该可以在Unreal Insights窗口看到相关的跟踪。

上面显示的每个dir/flag的注释:

  1. < ProjectName>:只是Unreal项目的名称,它匹配/sdcard/UE4Game/< ProjectName>

  2. < UProjectName>:UProjectName匹配输出二进制文件(由引擎指定),所以你可以只使用APK名称或在游戏目录中找到.uproject文件。

  3. < MapName>:这是可选项,但它允许你在每个map的基础上自定义启动参数。如果你知道map的名字,你可以把它放在这里。提示:如果你有一个正在使用的基准场景,你可以只为所述map设置跟踪,这样跟踪开销就不会影响常规map的其他剖析。这非常棒,因为你可以将launch arg文件保持在相同的位置,不必在不同的play type之间删除或重命名它。

  4. -trace:允许你为跟踪定义要接入的通道。以下是剖析时常见的组合:

    • 详细:log,counters,cpu,frame,bookmark,file,loadtime, gpu,rhicommands,rendercommands,object

    • 一般:counters,cpu,frame,bookmark,gpu

    • 附加:Stats和Loadtime

  5. -statnamedevents:当与-trace=cpu选项结合使用时,这将激活更多的cpu计时事件

  6. -tracehost:运行Unreal Insights实例的主机的IP地址(127.0.0.1)

  7. -tracefile:可以在.trace文件转储的设备定义本地路径。你可以将文件放在一个静态位置,每次覆盖以保留最新的跟踪。只需“adb pull/sdcard/UE4Game/MostRecentTraceCapture.utrace”。你同时可以把它放在projectdir中,这样你就可以为你正在工作的每个UE内容保留最新的跟踪

作为一个例子,基于VR模板构建了一个名为QuestUnrealDemo的快速项目,并将默认map设置为MotionControllerMap。完整的包名是com.YourCompany.QuestUnrealDemo。

第七步:将更新的UE4CommandLine.txt文件推送到项目根目录:Adb push UE4CommandLine.txt/sdcard/QuestUnrealDemo/

第八步:启动Unreal Insights并选中“Auto-start analysis for LIVE trace sessions”复选框(如果需要)。

第九步:启动游戏。实时跟踪将在Unreal Insights窗口中启动。

3. 建议

默认的PushCommandLine.bat文件可能会推送到错误的位置。如果你不想在每次进行更改时键入adb push命令,你可以编辑文件以推送到所需的位置。如果你需要经常更改文本文件,这会非常有用。脚本只包括:

  • %ANDROID\u HOME%\platform tools\adb.exe push UE4CommandLine.txt/mnt/sdcard/UE4Game/QuestUnrealDemo/UE4CommandLine.txt

  • %ANDROID\u HOME%\platform tools\adb.exe shell am force stop com.YourCompany.QuestUnrealDemo

  • %ANDROID\u HOME%\platform tools\adb.exe shell am start-n com.YourCompany.QuestUnrealDemo/com.epicgames.ue4.GameActivity

4. 其他有用的launch Flag:

  1. -NoSoun

  2. -NoTextureStreaming

  3. -NoVerifyGC

  4. -Benchmark

  5. -ResX/ResY

  6. -Dumpmovie

值得一提的是,关于Unreal Insights,你可以参阅Unreal官方的“Unreal Insights介绍”。另外,你总是可以通过Oculus开发者论坛寻找,讨论和分享有用的开发建议。

本文链接https://news.nweon.com/87514
转载须知:转载摘编需注明来源映维网并保留本文链接
入行必读:腾讯可以向Facebook学习什么

更多阅读推荐......

资讯