Hi Jin,
首先,明确一个概念,ETC1的压缩比是固定的,
根据ETC1的官方文档:
https://www.khronos.org/registry/gles/extensions/OES/OES_compressed_ETC1_RGB8_texture.txt
4*4共16个texels,压缩后的空间是64bits也就是1个texel占用64/8/16 = 0.5 byte,
如果你的贴图尺寸正确是2048*2048,则etc1(GL_ETC1_RGB8_OES)压缩后的贴图大小应该是
2048*2048*0.5 = 2,097,152 bytes,再加上文件头大小为16 bytes,2,097,168 bytes,
这与我实际测得的结果是一致的。
所以,为了明确问题,在没有资源可以测试的情况下,还需要了解:
1,你压缩后得到的pkm文件大小是?或则,贴图文件你可以尝试使用网盘贡献的方式给我们。
2,你的测试设备是什么,iOS设备?CC2DX的版本是多少?
3,压缩的时候有没有使用"Enable mipmaps"?
4,根据你之前的log“D/cocos2d-x debug info(10423): cocos2d: WARNING: Image is flipped. Regenerate it using PVRTexTool”,pvr的贴图应该没有生效,
后续你测得的结果6M,pvr的贴图是有效的么?
5,鉴于你使用了atlas Sprite,是否有检查过CCSPriteFrameCache,或者你可以将 Director::getInstance()->getTextureCache()中的贴图遍历一遍,将尺寸等信息打印出来,确认贴图是否载入于其中。
BR,
Zephyr