思路
1.定位问题(渲染线程问题和游戏线程问题)简单理解就是美术负责的部分和程序负责的部分。
2. 常见问题+解决方案。
1.定位问题
命令:1.stat unit(哪个高哪个就有问题)
Frame 渲染每一帧花费的时间,毫秒。
Game 游戏线程每一帧花费的时间。
Draw Drawcall花费的时间,CPU负责渲染的部分。
GPU 渲染线程花费的时间。
Rhit 硬件接口渲染时间。
Dynres 动态分辨率。
2.stat scenerendering
3.crtl+shift+,
4.
常见问题
1.DrawCall 太多。大部分时候都是这个问题。
解决方案
(1).UE自带的MergeActor。(建议别用)
(2).instancedStaticMesh工具,商城有卖。
(3).老老实实做LOD。
(4).合并材质。
2. 灯光复杂
Directional Light) < 点光源(Point Light) < 聚光灯(Spot Light)
灯光重叠的部分要多注意。(开启MDF静态网格距离场)会产生黑斑。
3. basspass过高(材质复杂度)
也就是材质。GPU消耗过高的一般就2个问题,材质和后期框。
(1).材质能合并就合并。
(2).贴图的大小,以及采样的次数。材质编辑器里的节点。有些节点是比较耗的,比如sin、 pow、cos、divide、Noise等,比较省的就是加减乘除clamp。
(3).opauqe>mask>transulant.透明的消耗巨大,同理指数级雾也少用。
4. 后期框
后期处理是第二个GPU消耗过高的元凶,SSR,后期AO,BLoom,抗锯齿切换成FXAA。
游戏线程问题
1. TICK滥用。
2. 引用过多。
3. 连用高消耗的蓝图节点。
4. 循环滥用。