0

我有一些用于我正在制作的游戏的精灵表,并且正在寻找与精灵表相关的内存管理方面的帮助。

我目前有 8 张 Sprite 表 (2048x2048),每张代表我的可玩角色能力和动作之一。目前,一旦用户选择了该角色,我就会将它们添加到缓存中。我还有 1 个精灵表 (2048x2048),其中包含游戏中物品的精灵(如手榴弹/武器/地面物体)。

任何时候最多有 4 个角色 + 另一个项目精灵表处于活动状态。我的问题是,从记忆的角度来看,这是否太多而无法在任何时候使用?我是否更适合使用 1 个大规模精灵表来降低 I/O 调用?我应该什么时候加载它们?我可以手动卸载它们以提高性能吗?

谢谢!

4

1 回答 1

0

你应该阅读这篇关于 cocos2d 内存优化的非常有趣的文章:http: //www.learn-cocos2d.com/2012/11/optimize-memory-usage-bundle-size-cocos2d-app/

当然,您可以在需要时手动卸载纹理(请参阅 CCTextureCache 和 CCSpriteFrameCache),但根据我的经验,通常最好尽可能多地预加载,而不用担心卸载,除非它确实会引发内存问题。

然后我会说精灵表越少越好,但鉴于某些设备(如 iphone 3GS 和 iphone 4)支持的最大纹理尺寸为 2048×2048,我建议不要使用“一个巨大的”精灵表(除非你可以保持在这个 2048×2048 尺寸内)

于 2013-08-19T09:42:47.280 回答