本帖最后由 空伊伊 于 2023-4-26 18:44 编辑
所使用编辑器版本:Online_v0.23.0.1
使用目的
DevTool对JS侧的内存和CPU消耗分析都提供了强大且优秀的帮助。在我们利用好了DevTool还不能解决游戏问题时,我们就需要有一个更全面、 更深入的分析工具,帮助我们对JS层和C++层作出更深入的剖析。这就是我们本章所要介绍的 UnrealFrontEnd
UnrealFrontEnd 是UE引擎提供的UE性能分析工具,对于我们TS游戏来说,它是整体游戏的分析工具,包括了JS虚拟机和C++侧的所有消耗情况。我们可以利用它去排查JS和C++相互交互的消耗、物理计算消耗、网络消息消耗、对象生成、UI绘制等更为详细和深入的消耗问题
使用方式
1. 下载Unreal 4.26/4.27 引擎
2. 使用命令记录Profile(【性能教室】常用控制台命令 - 资源/心得分享 创作者论坛 (ark.online))
3. 打开UnrealFrontEnd.exe
4. 导入第二部中记录的文件
(图1 打开UnrealFrontEnd.exe)
(图2 依次选择Session Frontend/ Profiler)
(图3 点击load导入ue4stats文件,文件目录选择你存储的文件目录)
数据分析1. 选择要定位的某一帧,或者某一段(如下图7所示)
2. 找到在EventName中找到GameThread (这里是针对CPU优化,其他需求可以关注其他对应线程)
一般来说,我们需要特别关注GameThread/Frame Time/Deferred Tick Time/FTicker_Tick/FTicker_JSEnvTick (下图9)的整体消耗。该事件消耗代表由JS虚拟机在C++中线程的整体消耗,也包括了由JS发起调用C++的消耗。我们也可以根据右侧的详细数据来定位详细原因
(图7 查看游戏整体FPS走向)
(图8 查看Game线程详细消耗)
(图9 查看JS消耗在整体消耗中的占比)
更多参考
|