对cocos creator 2.1.x的项目,分别作了图片压缩,etc1纹理压缩和gzip压缩。
-
图片压缩:
- png 使用 pngquant 压缩
- jpg 使用 mozjpeg 压缩
-
etc1纹理压缩
- 工具 ARM 的 Mali Texture Compression Tool
- png 生成带 Alpha 通道的合成纹理
- jpg 直接生成压缩纹理
-
gzip 压缩
- python gzip库
下面是测试结果:
结论:
- 对包体的影响:
图片压缩的效果最为明显
纹理压缩次之
gzip比纹理压缩稍微差一点
- 纹理压缩对最终包体影响非常大
因为 etc1 不含 Alpha 通道,需要生成一张跟原图大小一样的 Alpha 贴图,相当于把图片尺寸增加了1倍
且尺寸必须是2幂,有增大了一次图片的尺寸
虽然 etc1 纹理压缩之后对包体的影响非常大,但资源量非常大时,又不得不使用 etc1 纹理压缩,不然动态内存会暴涨,导致崩溃。