TexturePacker纹理格式截图
RGBA8888:
红色通道,绿色通道,蓝色通道,alpha(透明度)通道各8位。
如果想获取做好的图片资粮,使用这种格式最靠谱。
手机上占用内存太大
这个格式占用空间计算:以1024*1024计算图片占用空间 1024*1024*4 = 4M
常用地方:整个场景背景图片,大量渐变色的图片。
以RGBA8888格式(2048*2048)计算内存:
图片占用内存: 2048*2048*32/8/1000/1000 = 16M
1M = 1000KB
1KB = 1000字节
1字节 = 8 位
32 = 8 + 8 + 8 + 8 位
2048和2048为长宽
OpenGL ES生成纹理在生成纹理时大小会自动扩展成2的幂次方。不足自动向下调整
例:85*121图片 生成纹理就是 128 * 128 占用内存64k
BGRA8888:
蓝色通道,绿色通道,红色通道,alpha(透明度)通道各8位。
同上只不过像素格式顺序不一样,不是特别常用
占用内存:16M
RGBA4444:
红色通道,绿色通道,蓝色通道,alpha(透明度)通道各4位。
对每个通道都有不错的支持,还能保证相对良好的速度和内存占用率。
占用内存:8M
常用地方:需要有不同的透明度精灵。
RGB888:
红色通道,绿色通道,蓝色通道,各8位。
没用alpha通道。
占用内存:12M
常用地方:用在没有透明度的图片。游戏背景图像
RGB565:(*.jpg是565的一种格式)
红色通道5位,绿色通道6位,蓝色通道5位,这可怜的孩子没有Alpha通道。
尽最大努力的给你一个高品质的16位纹理,前提是你不需要透明度的支持。
占用内存:8M
常用地方:游戏背景图
RGBA5551 (别名:RGB5A1):
红色通道5位,绿色通道5位,蓝色通道5位,Alpha通道1位。
RGB通道表现良好,但是Alpha通道就惨了。内存占用和速度上表现不错。
常用地方:精灵需要透明度的表现,但是透明度的表现只有两种:开或关。
RGBA5555:
红色通道5位,绿色通道5位,蓝色通道5位,Alpha通道5位。
各方面表现都比较良好
占用内存:10M
PVRTC2(iPhone的图形芯片(PowerVR MBX)对一种称为 PVRTC 的压缩技术提供硬件支持):
所有颜色和透明度占2个字节(品质可能有点低)
占用内存:2048*2048*2/8/1000/1000 = 1M
PVRTC4:(ios产品专用)
所有颜色和透明度占4个字节,在ios上基本都用这个格式
占用内存:2048*2048*4/8/1000/1000 = 2M
PVRTC2_NOALPHA:
RGB占用2个字节,没用ALPHA通道
占用内存:2048*2048*2/8/1000/1000 = 1M
PVRTC4_NOALPHA:
RGB占用4个字节,没用ALPHA通道
占用内存:2048*2048*4/8/1000/1000 = 2M
ETC1:
是android通用纹理的压缩格式,几乎所有的android机器都支持,是opengles2.0的标准。不像pvrtc4只是部分powervr的显卡支持。
ETC1图片不支持半透明(有替代方案可以使etc1图片兼容半透明显示),内存占用只有正常RGBA8888的八分之一(一个像素0。5个字节),并具有极高的加载速度。
ETC1的图片大小只跟图片的尺寸有关系,在大小上无法媲美jpg或png8的图片。
RGBA各占用0.5个字节
内存占用:2048*2048*2/8/1000/1000 = 1M
S3TC:(dds的一种格式):
是wp8手机支持的通用纹理压缩格式。
RGBA各占用0.5个字节
内存占用:2048*2048*2/8/1000/1000 = 1M
RBGA8888其他RGB格式,不能被显卡所认可,需要开辟临时内存来读取,假如是2048*2048占用内存16M,读取的时候会临时增到32M。渲染完成,又变为16M
pvr, etc1,s3tc,可以被显卡所认可,而不需要开辟临时内存来读取,所以即便同为argb8888格式,pvr也会比png有效率。虽然不会节约程序稳定的运行内存,但是会避免加载大量图片时内存暴涨。