原文链接:http://blog.csdn.net/xiebaochun/article/details/25926121
NPOT 是 “non power of two” 的缩写,译作 “不是 2 的幂”。
NPOT stands for “non power of two”.
在 cocos2d 1.x 的时候,你必须在 ccConfig.h 文件中开启对 NPOT 的支持,
但是,cocos2d 2.x 就不需要了,它默认是支持 NPOT 的。
所有 3 代(iphone 3GS)以后的 iOS 设备都支持 cocos2d 2.x
(因为它们支持 OpenGL ES2.0),所以也都能支持 NPOT 纹理。
如果纹理图集(texture atlas)使用 NPOT 的纹理,它将有一个具大的优势:
它允许 TexturePacker 更好地压缩纹理,因此,我们会更少地浪费纹理图集的空白区域。
而且,这样的纹理在加载的时候,会少使用 1% 到 49% 左右的内存。
而且你可以使用 TexturePacker 强制生成 NPOT 的纹理。(你只需要勾选 “allow free size” 即可)
为什么要关心 NPOT 呢?因为苹果的 OpenGL 驱动有一个 bug,
导致如果使用 POT 的纹理,则会产生额外 33% 的内存消耗。