为什么改变纹理颜色深度格式可以减少纹理内存占用?
cocos2d默认加载纹理格式为RGBA8888,一个像素占用的内存是4*8bit,4byte;
每一位通道精度为[0,256]。
通过setDefaultAlphaPixelFormat方法 改变默认加载纹理的格式为RGBA4444,现在一个像素占内存 4*4bit = 2byte,
但是相应的每一位通道精度为[0,16]。
通道精度查了这么多,但是还是能正确显示图片颜色呢???
这种精度的损失对一些颜色渐变的纹理来说,影响比较明显。但是无论精度区间是[0,16]还是[0,256],这些像素都会被映射到OpenGL
支持的[0,1]这个颜色区间。