9. 总结
看到这里,基本也就结束本文内容了,希望此文能给各位游戏开发这带来实质的优化技法或者新的思路。当然还需要说一下性能优化常见的一些误区。
- 文件小的图片占用内存也小
有些人以为图片文件小,它占用的内存也会小,所以有些人将图片转成高压缩率的jpg格式。
那么这个看法和做法是否妥当呢?根据2.1章节,可以看出图片占用的内存大小跟图片的尺寸和像素格式相关,跟文件格式没关系。所以,图片转成jpg只是压缩了文件大小,但并不能降低内存开销!
- 合批的数据越大越好
有人会认为即然合批能够降低渲染消耗,是不是让合批后的数据越大越好,以便更多地降低Draw Call呢?
答案是否定的。原因有二:
1、移动游戏的模型索引通常做了优化,只用16位表示,也就是说如果合批后的顶点数超过65535,便会越界,导致渲染异常。
2、太大的数据量可能无法充分利用LOD,遮挡剔除等技术,导致过多的数据送入GPU,反而增加带宽和GPU消耗。
- 片元等同于像素
片元(fragment)是GPU内部的几何体光栅化后形成的最小表示单元,它经过一系列片元操作(alpha测试,深度测试,模板测试等)后,才可能最终写入渲染纹理成为像素(pixel)。所以,片元不是像素,但有概率成为像素。