移动平台纹理压缩格式对比分析
移动平台GPU纹理压缩格式
一 纹理为什么要压缩
### 1 先说说无压缩的纹理格式
RGB或者RGBA格式, 以不压缩的方式打包图片资源, 使用时直接读取到内存,
优点
- 质量无损
没有解压展开的性能消耗
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。缺点
- 占用内存大
-
2 为显卡设计的特殊压缩格式
GPU除了支持不压缩的贴图格式, 还支持特殊的压缩格式, 这种格式在GPU上的使用性能优于不压缩格式,
优点 - 占用内存小, 压缩比为 1 : 4 甚至更高
性能更好,查询速度快
缺点
- 有损压缩
二 移动GPU支持的纹理压缩
### 1 ETC Opengl ES标准
ETC有两个版本:
- ** ETC1** 需要OpenGL ES 2.0以上
- ** ETC2** 需要OpenGL ES 3.0以上
二者对比:
- ETC2向下兼容ETC1
- ETC2压缩质量远高于的ETC1
- 二者压缩比一样
### 2 ASTC Opengl ES扩展标准
### 3 PVRTC 苹果标准
三 不同平台标准压缩格式效果对比
以下是4种压缩格式压缩法线贴图的效果对比:
结论: 综合质量和压缩比, 性价比按最高依次是:
PVRTC > ASTC > ETC2 > ETC1
四 使用分析
1 安卓平台
兼容OpenGL ES 2.0
- UI等高质量要求的纹理使用RGB或者RGBA不压缩格式
- 一般纹理使用 ETC1
- 透明纹理使用 ETC1 + Alpha8
2 只兼容OpengGL ES 3.0以上
- 根据实际情况优先使用高压缩比的ASTC格式
- UI等高质量要求的纹理使用RGB或者RGBA不压缩格式
- 法线贴图等有一定精度要求可使用PVRTC4bit或者更高精度的ASTC
3 IOS平台
兼容iPhone5(含)以下
- UI等高质量要求的纹理使用RGB或者RGBA不压缩格式
- 其他使用PVRTC
只兼容iPhone5s(含)以上
- 根据实际情况优先使用高压缩比的ASTC格式
- UI等高质量要求的纹理使用RGB或者RGBA不压缩格式
- 法线贴图等有一定精度要求可使用PVRTC4bit或者更高精度的ASTC

更多精彩