纹理像素格式

TexturePacker纹理格式截图

纹理像素格式_第1张图片

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有效率。虽然不会节约程序稳定的运行内存,但是会避免加载大量图片时内存暴涨。


格式压图原理:
RBGA8888   R 8位  2^8 = 256  可以表现出来256种不同的红色
RBGA5555  R 8位  2^5 = 32  可以表现出来32种不同的红色
如果RBGA8888转换为RBGA5555,比如红色,会去掉一些红色的显示,用同一种红色代替,从而减少内存。



你可能感兴趣的:(游戏优化)