Laya3D优化思路

DrawCall优化思路:

1:避免交叉渲染(UI)

相邻相同的图集在渲染时会自动合并,这样可减少DrawCall。所以尽量要保证图集的图片渲染顺序是挨着的。在LayaUI编辑器中,如果相同颜色的圆点被交叉打断,就会增加DC,就需要调整层次关系,让相同颜色圆点的资源顺序排列。此外,尽量保证同一个面板中的所有资源用一个图集。

2:复用3D材质。

3D游戏的DrawCall,Laya3D会对相同的材质进行合并优化。

3:控制常用模型的面数。

Laya3D会对20个面以下的相同模型,自动动态合并(例如特效和子弹等),因此要求美术对反复使用的模型尽量控制页数。

4:静态场景的优化方法。

对于材质相同的静态场景,使用StaticBatchManager.combine(),使用后可以大量减少DrawCall数量。

减少Sprite优化思路:

1:尽量减少不必要的层次嵌套,就可减少Sprite数量。

2:非可见区域的处理:

在非可见区域的对象尽量要从显示列表移除,或者将对象设置visible=false。如果不设置,就会遍历全部的显示对象节点。存在大量的对象时,就会导致性能降低。

3:设置cacheAs属性(2D):

对于容器内有大量静态的内容或不经常变化的内容(如按钮),可以对整个窗口设置cacheAs=“bitmap”,以减少Sprite的数量。

4:3D模型数量控制:

美术尽量合并模型减少数量,达到减少Sprite数量,减少引擎渲染时遍历节点的时间。也可以在Unity中使用MeshBaker插件,合并模型。

5:摄像机裁剪优化。

对于大型的3D场景,模型的面数与材质非常多,但是远处的部分几乎是看不清楚,这时可以采用摄像机裁剪功能,将远处看不清的模型与材质不渲染,结合场景雾效果,可减少Sprite数量与DrawCall数量。

减少CPU的消耗:

猜你喜欢

转载自www.cnblogs.com/vincent1392923/p/9142771.html
今日推荐