影响性能的因素
对于一个游戏来说,它主要需要使用两种计算资源:CPU和GPU。它们会相互合作,来让我们的游戏可以在预期的帧率和分辨率下工作。其中,CPU主要负责保证帧率,GPU主要负责分辨率相关的一些处理。
1.CPU
1)过多的draw call
2)复杂的脚本或者物理模拟
2.GPU
1)顶点处理。过多的顶点;过多的逐顶点计算。
2)片元处理。过多的片元(既可能是由于分辨率造成的,也可能是由于overdraw造成的);过多的逐片元计算。
3)宽带。使用了尺寸很大且未压缩的纹理;分辨率过高的帧缓存。
优化技术
1.CPU
1)使用批处理技术减少draw call数目。
2.GPU
1)减少需要处理的顶点数目。优化几何体;使用模型的LOD技术;使用遮挡剔除技术。
2)减少需要处理的片元数目。控制绘制顺序;警惕透明物体;减少实时光照。
3)减少计算复杂度。使用Shader的LOD技术;代码方面的优化。
3.节省内存宽带
1)减少纹理大小。
2)利用分辨率缩放。
减少draw call数目
Unity中支持两种批处理方式:一种是动态批处理,另一种是静态批处理。对于动态批处理来说,优点是一切处理都是Unity自动完成的,不需要我们自己做