【问题标题】:Reduce overhead for sprite outside the screen减少屏幕外精灵的开销
【发布时间】:2012-05-14 10:14:35
【问题描述】:

对于我的游戏,我正在开发 2 人模式,玩家可以向左滑动以查看其他玩家在做什么。有效 2 个 iPhone 屏幕。

我的问题是,屏幕外的任何精灵、粒子(即玩家 2)是否像在屏幕上一样被渲染和处理?如果是这样,有没有办法让 cocos2d 以不同的方式处理这些问题,以免降低整体游戏性能? (fps)

【问题讨论】:

  • 例如,如果我将玩家 2 对象设置为在屏幕外时不可见。这会减少开销吗?我希望用户正在查看的任何屏幕的帧速率都保持在 60fps。

标签: cocoa-touch ios4 cocos2d-iphone


【解决方案1】:

我知道降低开销的唯一方法是使 sprite.visible 属性为 NO,在这种情况下根本不会计算平局。如果设置为可见,屏幕外精灵将被绘制。此外,在做出任何与“FPS”相关的决定之前,请确保您验证了您在真实设备上获得的内容。您会发现模拟器在性能方面非常不足。

【讨论】:

  • 一般来说模拟器性能没什么意义。
【解决方案2】:

如果将visible 属性设置为NO,确实会减少开销。如果精灵在屏幕之外,它仍然会自己绘制(所以是的,您可以将其设置为 NO 以减少一些开销)。但无论如何,不​​管visible属性值如何,所有的精灵还是会消耗一些内存等等。

如果他们有动画,他们会继续播放。您可以取消安排这些精灵并释放更多处理。

我对这个visible 属性提出的问题可能会对您有所帮助:Does the .visible property affect performance?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多