|
笔记来源:[UF2022]虚幻引擎游戏性能优化秘笈(官方字幕)_哔哩哔哩_bilibili
讲师的个人网站:ari.games
<hr/>分析的概念
何时优化
- 过早的优化是万恶之源,在开发过程中要注意性能,不要牺牲代码的可读性
- 在方针硬件上以60fps运行,不优化
- 当呈此刻分析东西上时,优化
实用优化
- 只在你没有达到你的帧时间时进行优化
- 用最少的努力获得最大的影响
- 不要盲目地优化,弄清楚是什么,为什么 ,怎么做
虚幻引擎中的分析
Unreal Insights
- 从编纂器中启动Unreal Insights
- Tools → Run Unreal Insights.
- 启动unreallsights .exe
- 虚幻自动连接到当地进程。
- 使用-trace命令行参数覆盖通道。
- 默认是cpu,帧,日志,书签
- -trace=default,gpu,memory,file,loadtime
- 制作一个快捷方式/bat文件很便利
ProfileGPU
- 使用Ctrl + Shift + ,
- 在编纂器中打开GPU可视化东西
- 打印到打包生成中的控制台输出
实际用例
编纂器帧率过低
1.查看当前的fps
- 点击show fps按钮
- 在控制台输入stat fps
2.查看当前的消耗时间
- 点击按钮Unit查看
- 在控制台输入stat unit
3.分析是哪项导致的GPU消耗过高
打开ProfileGPU窗口,按照Duration分析是哪项的消耗过高
4.修复因为点光源导致的消耗过高问题
加载资源导致卡顿
1.打包项目为Windows版本,创建快捷方式,覆盖检测通道
2.打开Unreal Insights分析卡顿问题,发现是加载资源问题,会刷新异步加载资源
3.进入对应蓝图,改削加载资源为异步加载,这样就不会刷新异步加载了
人物转身导致卡顿
1.按照stat unit显示的信息,判断出是GPU呈现问题
2.在打包版本中输入控制台命令 ProfileGPU,然后在Saved->Logs下打开日志文件
3.按照日志判断出是哪个东西导致的GPU异常
4.找到材质,并优化材质(增加alpha,降低噪点节点的级别,使用贴图来制作)
解决内存泄漏
1.在控制台输入gc.CollectGarbage,运行一会之后关掉
2.打开Unreal Insights,先删除带LLM标签的图标,在右边窗口的Rule选择 Memory Leaks (A*B C*) 【感化是:标识在时间A和时间B之间分配,在时间C之后释放的分配】,再点击 Run Query
3.找到问题发生地址,是某个Actor的Tick时造成的内存泄漏
4.按照代码发现是在堆上创建了对象,而且没有删除,建议打消使用new关键字
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|