贴图资源可以说是几乎所有游戏项目中占据最大内存开销的资源,所以应合理使用贴图,来降低内存消耗。接下来分享几个贴图使用时应该注意的优化点
1、压缩贴图
(1)压缩贴图分为有损压缩和无损压缩
- 有损压缩:可以降低图像在内存和磁盘中占用的空间,但是会降低图片质量,且该操作不可逆
- 无损压缩:不会丢失图片原有信息,只能降低图像在磁盘中的空间占用,压缩率低,操作可逆
我们的目的是为了降低内存,所以选择有损压缩,并在有损压缩方式中选择最合适的压缩方式。
(2)移动端比较流行的有损压缩方式
现在移动端比较流行的压缩格式有ETC、PVRTC、ASTC,下面从适用性和压缩效率两个方面分析下这三种压缩格式的区别
- ETC:该压缩格式又分为ETC1和ETC2
- 适用性:这两种都只适用于安卓机,ETC1适用于绝大部分安卓设备,但ETC1不支持Alpha通道,对于有Alpha的贴图需要分成两张贴图压缩;ETC2兼容ETC1,且支持Alpha通道,但ETC2需要OpenGL ES 3.0和OpenGL 4.3以上版本,否则GPU会对这种格式的纹理进行解压,会占用更多的显存和内存
- 效果:压缩比都为6:1,但ETC2压缩质量更高
- PVRTC
- 适用性:苹果的所有移动设备都支持PVRTC
- 效果:对RGB的压缩比为6:1,对RGBA的压缩比为8:1<