UE游戏性能和场景优化思路:
1. 可以把可延展性调低,帧率会大幅提高,但画质会大幅降低
2.调整固定灯光,静态光源,烘焙构建光照,灯光重叠距离,关闭阴影
3.设置模型和地形LOD
4.开启Nanite,减少草,树 等植被
5.贴图合并,减少贴花
6.谨慎使用tick,cast to,for loop , GetAllActorsOfClass
7.虚拟纹理
8.减少复杂碰撞,尽量使用简单碰撞,没必要碰撞的模型取消碰撞
9.减少骨骼数量
10.贴图设置无MipMap,模型贴图分辨率1k或者2k,地面贴图用4k
11.少用半透明材质
12.降低模型面数,人物面数为6w以下,中小型物体一般为2w以下,大型建筑物10w以下
13.模型光照贴图分辨率,设置2的幂次方
14.关闭体积雾,可以用材质代替
15.后期处理体积 加LUT,可以让画面更好看
16.物体短距离来回移动可以用材质代替蓝图
17.用C++代替蓝图
18.不使用屏幕捕捉 (Scene Capture Actor)
19.减少粒子特效
20.建筑模型空间布局拉远
21.减少AI数量,怪物丧尸NPC等
22.材质表达式少用 sin,power,cos,divide,noise
23.材质着色模式尽量使用无光照
24.避免使用矩形光源
25.没用的Actor及时销毁
26.设置开启关卡流送
27.持续更新。。
解除帧率限制
启动游戏 按 “~” 键 输入 t.MaxFPS 200
可以解除默认帧率限制达到更高的帧率
项目性能分析 控制台命令
stat ShadowRendering
stat SceneRendering 可以看到DrawCall,以及阴影,后处理等信息
stat Memory
stat LightRendering
stat Game
stat Gpu
stat unit
部分说明
stat RHI 检查各种贴图和triangle的消耗。
能够让我们查看drawcall的数量
2000-3000的drawcall是一个标准 超过5000就有点高了
超过10000就可能会产生问题
对于手机平台,绘制调用要少得多,一般不超1000次
- Stat Unit:统计主要性能指标
- Stat GPU:统计GPU绘制信息
- Stat SceneRendering:统计场景绘制信息
- Stat Engine:统计引擎相关信息
- Stat RHI:统计驱动绘制信息
- Stat initviews:统计视窗可见性信息
- Stat Memory:监控内存状态
- Stat Levels:监控关卡状态
- Stat Game:监控游戏状态
参考链接:
UE4项目优化(帧数优化)相关知识_r.screenpercentage-CSDN博客
https://zhuanlan.zhihu.com/p/150110172
https://zhuanlan.zhihu.com/p/11508599241
https://zhuanlan.zhihu.com/p/55335907
https://zhuanlan.zhihu.com/p/55335653
[UE5]Performance Optimization Notes