UE4性能分析工具 UnrealFrontend Profiler
概述UnrealFrontend Profiler适合分析不同版本的性能差异点;适合查看性能的平均消耗分布情况:GameThread平均帧率耗时;各模块的平均耗时以及占比。
例如通过录制可以看:AnimGameThreadTime、slate tick、TickWidget、Char Movement Total、 HUD Time、UpdateAnimation、Game UI Tick、 Game UI Paint的平均消耗情况,从而判断是某个部分出了问题
使用方法
官方教程:UnrealFrontend
DS服务器
非shipping版本,启动参数加上 -MatchAutoStatCapture.在游戏比赛开始时会自动stat startfile,结束时自动stat stopfile 在Project\Saved\Profiling\UnrealStats\xxxx.ue4stats文件
客户端
非shipping版本,打开控制台输入指令:stat startfile, stat stopfile。 会生成xxxx.ue4stats文件
移动端实时Profile
[*]PC和手机处于统一局域网环境,非shipping包(dev\debug)
[*]/Engine/Binaries/Win64/UnrealFrontend.exe 创建快捷方式,添加参数:-messaging TcpMessagingListen="PC机IP:7777" -SessionOwner="PC机登录用户名"
[*]创建UE4CommandLine.txt ;写入内容:-messaging TcpMessagingConnect="PC机IP:7777" -SessionOwner="PC机登录用户名" ;放到Android/data/com.xxx.packate/files/UE4Game/Project/目录
[*]先快捷方式启动UnrealFrontend.exe进入监听数据状态
[*]开启开发者模式,手机连接PC,确保adb连接正常,启动移动端app
[*]UnrealFrontend中Device Manager可以看到已连接的设备Session,双击|Session进入到SessionFront界面
点击DataPreview和Live Preview可以实时预览数据。点击Data Capture相当于远程stat startfile, stat stopfile 数据文件还会自动下载到pc上Project\Saved\Profiling\UnrealStats 目录中。
数据分析
[*]打开之后 GraphView默认展示GameThread的帧的平均 Max、Min、 Avg 时间
2. 查看平均耗时分布,以GameThread为例
GraphView->右键->Select all Frames->选择GameThread->FrameTime
Called Functions展示GameThread主要消耗情况:
GameEngine Tick:
WorldTick: TickGroupNetTick(收) TickFlush(发) QueueTicks NavTick GC UpdateCamera
RedrawViewPorts :UiDrawingTime CalcSceneView
Tick CheckCaptures :PostTickComponent->ParallelFor
Tick StreamingManager:
TickableGameObjects:
Total Slate Time:Game UI Paint、 TickWidgets 、SlatePrepass 、Add Elements Time
Tick SlateInput: PollGameDevicesState 获取设备输入进行分发
GameThread Deferred Tick
GameThread SelfEvent Name展示耗时详情:由于选择了所有帧如下数值展示的是平均值
WorldTick中耗时详情
点击具体的一个EventName中部展示出占比,例如点击TickTime
角标也可以展示出占比,例如NetTickTime中的消耗占比
3. 查看具体一帧的情况
GraphView 视图上单击一个时间点即可选择一帧,下图为一帧下GameThread的的耗时分布
4. 快速查看特定分组耗时(平均最大最小)
左侧GroupBy GroupName上过滤输入:slate tick等需要查看的分组 然后在下方双击选项 GraphView视图中会显示数据
页:
[1]