UE5 游戏性能分析
原文:https://zhuanlan.zhihu.com/p/634275049
一、测试环境
CPU:AMD Ryzen 7 5800X3D 8-Core Processor 3.40 GHz。
RAM:64GB。
显卡:NVIDIA GeForce RTX 3060。
二、测试流程
1.“...\Engine\Binaries\Win64”文件夹下启动Unreal Insights性能分析工具。
2.启动游戏,Unreal Insights会实时监测到游戏运行,自动开始记录数据。
3.打开记录的数据,着重查看CPU、GPU耗时。
4.经测试,获取的Memory数据不直观,不好使。
5.Memory数据获取改为采用“Memreport -full”命令,Dump完整内存数据。
6.内存数据存储在“...\Saved\Profiling\MemReports”,Notepad++打开即可。
三、CPU
1.CPU逻辑线程性能数据。

2.重点函数解释。
①.FEngineLoop::Tick(55.4ms):游戏循环核心函数,其中近三分之二的时间在等待GPU渲染完成,耗时55.43ms。
②.GameEngineTick(16.7ms):引擎核心逻辑,包括输入、物理、AI等,耗时16.7ms。
③.FrameSyncTime(37.8ms):开启垂直同步之后,CPU等待GPU渲染完成的帧同步时间,耗时37.8ms。
3.总结。
①.CPU阶段绝大部分时间在等待GPU渲染完成,帧率问题不在CPU阶段。
四、GPU
1.GPU渲染线程性能数据。

2.重点函数解释。
①.BeginFrame(51.7ms):整个渲染线程,耗时51.7ms。
②.FDrawSceneCommand(48.3ms):绘制整个场景,耗时48.3ms。
③.RenderViewFamily(48ms):渲染视图,包括场景渲染和后处理等,耗时48ms。
④.FDeferredShadingSceneRenderer_Render(42.5ms):延迟渲染管线,耗时42.5ms。
⑤.FRDGBuilder::Execute(5.2ms):构建渲染数据图(Render Data Graph),耗时5.2ms。
3.延迟渲染阶段重点函数解释。
①.OcclusionSubmittedFenceWait(11.1ms):等待查询Occlusion可见性结果提交到GPU的阻塞耗时11.1ms。耗时较高的原因为:场景中有大量对象需要进行Occlusion查询。
②.FDeferredShadingSceneRenderer_InitViews(20.1ms):初始化视口相关数据耗时20.1ms。耗时较高的原因为:OcclusionCull耗时14.7ms,场景中有大量对象需要进行遮挡剔除操作。
③.GPUDispatchSetup[RT](3.6ms):GPU计算任务的前置函数,用于设置计算任务参数,包括线程数、线程组数等。
④.ForEachOver9378Eentries(14.7ms):对9378个物体进行遮挡剔除操作。耗时较高的原因为:场景中物体数量已接近一万个,遮挡剔除操作耗时较高。
4.总结。
①.帧率问题在GPU阶段。
②.场景中物体数量已达到约1万个。
③.性能耗时主要分布在对场景中物件做遮挡剔除操作。
④.快速优化方案大致为:设置物体DistanceCulling、减少物体数量、合并小尺寸物体、增大WorldPartition剔除粒度等。
⑤.慢速优化方案大致为:优化遮挡剔除算法(ComputeShader计算遮挡,进行剔除)。
五、Memory
1.Memory走势图。

2.Memory分布情况。
①.总内存,占用11.70GB。

②.显存,占用6.75GB。其中VirtualPhysicalTexture占用1282MB、Lumen占用720MB、Nanite占用690MB、Shadow占用638MB、DistanceField占用151MB。

③.SkeletonMesh,占用154MB。

④.StaticMesh,占用891MB。其中存在一个合并模型“XXX”占用588MB内存。

⑤.NonVirtualTexture,占用1030MB。其中较多4096x4096贴图。

⑥.UncompressedTexture,占用362MB。

⑦.RenderTarget,占用2990MB。

3.总结。
①.588MB内存的合并模型需要及时删除。
②.贴图占用较高,考虑降低高分辨率贴图。
③.显存占用高,排查是否存在开启某项UE功能,但未正确使用的情况。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix