此时我使用此方案从 PNG 加载 OpenGL 纹理:
- 通过 UIImage 加载 PNG
- 通过位图上下文获取像素数据
- 将像素重新打包为新格式(当前为 RGBA8 -> RGBA4、RGB8 -> RGB565,使用 ARM NEON 指令)
- 使用数据创建 OpenGL 纹理
(这种方式在 Cocos2d 引擎中常用)
这需要很多时间,而且似乎需要做额外的工作,每次构建可能会完成一次。所以我想将重新打包的像素数据保存回文件中,然后第二次将其直接加载到 OpenGL。
我会知道实际的优势。有人试过吗?通过 zip 压缩数据是否值得(据我所知,当前的 iDevices 在文件访问方面存在瓶颈)?非常感谢真实的经验分享。