6个框依次:
ios正方形不带a,
ios正方形带a,
安卓正方形不带a,
安卓正方形带a,
各种平台长方形不带a,
各种平台长方形带a
etc和autocompress压缩比相同,在手机上读取速度略微快一点,电脑上没试过
ATC 和 ETC 算法来自PVRTC
可以选择带通道也可以选择不带
不带的话清晰一点,是有损压缩
RGBA8888就是一个像素占32个bit
PVRTC是4*4个像素占16个bit
原理是将图片分成若干个4*4的block
每个block取其中最有“代表性”的2个颜色,用4+4个bit去存,剩下的全部用0或者1去存储16个像素所占2个“代表性”的颜色的百分比
之前尝试了,我们的游戏用autocompressed,读取用8秒,ATC读取只用了1秒不到 读取场景
PVRTC在ios上最快,ATC在安卓最快,两者压缩算法相同,但都只支持方形贴图,如果是长方形贴图,用ETC
看你要求是大小,还是读取速度,还是精度
像我们之前是只在意大小和速度,不在意精度,所以pvrtc
另外提一句,ATC和PVRTC的解压非常快,但是压缩非常慢,所以你build版本的时候通常会花10分钟以上
这些算法都是有损算法,牺牲精度来换取体积和速度的
所以不要问为什么UI里面用了会模糊
你全部改成atc,打包体积只有rgba的1/4
还有一点,generate mipmap没必要的话全部把勾去掉
假设你一张图是1024*1024,勾了mipmap,anisolevel设了2
那么实际打包出的内容是一张1024的原图,外加一张512*512,一张256*256
除非你场景里远处的物体看起来有明显锯齿了,否则不要轻易勾上体积会大很多的
总结
IOS上:PVRTC(包文件会变小)【正方形】
安卓上:ATC(包文件会变小)【正方形】
PC上:DXT5
ETC支持多平台长方形
尽量取消mip Maps