lndxs 发表于 2024-7-15 18:19

虚幻引擎游戏性能优化秘笈(笔记)

笔记来源:虚幻引擎游戏性能优化秘笈(官方字幕)_哔哩哔哩_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 + ,

[*]使用ProfileGPU控制台命令

[*]在编纂器中打开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关键字



页: [1]
查看完整版本: 虚幻引擎游戏性能优化秘笈(笔记)