SpriteKit自动生成的地图集大小不是2的幂

时间:2014-09-05 17:02:22

标签: opengl memory textures sprite-kit texture-atlas

所以,我正在研究一个有大纹理的项目,最近我决定按场景分成不同的地图集,以便在浏览场景时SpritKit可以实际摆脱未使用的纹理

(因为我无法手动控制内存使用量,所以希望SpriteKit足够聪明,可以知道纹理图集何时没有被使用,并在需要时释放它。)

现在,在做了这个改变之后,我去看看结果的地图集,令我惊讶的是它们的大小不是2的力量,这是你在Cocos2D中学到的第一件事。 (即540x540的纹理实际上最终会成为OpenGL中的1024x1024,因此如果可能的话,更有意义的是1024x512甚至可以填充尽可能多的精灵以免浪费内存)

如果这在SpriteKit中相同或任何想法它是如何实际工作的?也许没有拆分地图集更有意义,因为我最终可能会使用相同甚至更多的内存来处理自动生成的糟糕地图集......

1 个答案:

答案 0 :(得分:0)

此信息过时了。纹理不再需要严格POT(例外:PVR压缩纹理必须是POT)。 NPOT首先得到了iPhone 3GS的支持。

现在,为了节省内存,建议使用POT纹理。