[开发者心得] 【性能教室】使用UnrealFrontEnd进行调试

[复制链接]
910 |2
喵喵哭唧唧 发表于 2023-4-13 13:53:58 | 显示全部楼层 |阅读模式
本帖最后由 空伊伊 于 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. 导入第二部中记录的文件



image.png

(图1 打开UnrealFrontEnd.exe)


image.png

(图2 依次选择Session Frontend/ Profiler)

image.png
image.png
(图3 点击load导入ue4stats文件,文件目录选择你存储的文件目录)

数据分析
1. 选择要定位的某一帧,或者某一段(如下图7所示)

2. 找到在EventName中找到GameThread (这里是针对CPU优化,其他需求可以关注其他对应线程)


一般来说,我们需要特别关注GameThread/Frame Time/Deferred Tick Time/FTicker_Tick/FTicker_JSEnvTick (下图9)的整体消耗。该事件消耗代表由JS虚拟机在C++中线程的整体消耗,也包括了由JS发起调用C++的消耗。我们也可以根据右侧的详细数据来定位详细原因


image.png

(图7 查看游戏整体FPS走向)

image.png
(图8 查看Game线程详细消耗)

image.png
(图9 查看JS消耗在整体消耗中的占比)

更多参考


回复

使用道具 举报

kk 发表于 2023-4-14 00:04:35 | 显示全部楼层
一脸懵逼
回复

使用道具 举报

喵喵哭唧唧楼主 发表于 2023-4-14 09:41:03 | 显示全部楼层

这个是比较深入解决性能问题才会用到的,如果你没有那么强的性能优化需求,可以不用理解这个工具的使用
回复

使用道具 举报

热门版块
快速回复 返回顶部 返回列表