【问题标题】:Cocos2D Sprite SheetsCocos2D 精灵表
【发布时间】:2013-08-19 05:13:27
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

    标签: ios objective-c xcode cocos2d-iphone ccsprite


    【解决方案1】:

    你应该阅读这篇关于 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 的尺寸内)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-24
      • 2014-05-11
      • 2013-08-27
      • 1970-01-01
      • 2010-12-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多