使用 cocos2d 应用程序降低功耗的可能性
Posted
技术标签:
【中文标题】使用 cocos2d 应用程序降低功耗的可能性【英文标题】:Possibilities to reduce power consumption with cocos2d apps 【发布时间】:2011-06-06 14:02:20 【问题描述】:我制作了一个棋盘游戏,其中仅包含一些小动画。我将 fps 从 60 降低到 30 以减少处理器负载。但是设备仍然很热。 另一个没有使用 cocos2d 的应用程序不会对它进行太多加热。 有什么方法可以让 iPhone 平静下来吗? 设备状态如下:
Wifi 始终处于启用状态 该应用使用游戏中心 GPS 未激活 fps 始终为 30 我使用 cocos2d-iphone 作为引擎【问题讨论】:
您使用互联网连接吗?如果经常这样?你用openfeint还是游戏中心?你用gps吗?当您不制作动画时,您是否将 fps 降低到 4。你用的是什么游戏引擎(coccos-2d?,原始的open gl,核心动画?)... 【参考方案1】:可能值得尝试不同的导演类型,例如kCCDirectorTypeNSTimer
,看看是否有帮助。这些将对游戏的主循环产生最大的影响。
如果您还没有使用 Instruments,您还应该花一些时间,因为这会告诉您 CPU 将时间花在哪里,并提示您可以在哪些方面缓解问题。
【讨论】:
【参考方案2】:我注意到 cocos2d 中的一系列小时间动画需要大量的处理器时间。我已经尝试在大小会脉冲的级别上制作提示。脉冲上升 0.1 秒,下降 0.15 秒,停留 0.2 秒。我已经把它放在一个永远重复的序列中。一切都非常缓慢。然后我刚刚手动制作动画,设备平静下来,fps 恢复到 60
【讨论】:
你能解释一下吗?我们的游戏有很多Action
,持续时间不到一秒。我们该如何解决?
@Emadpres:cocos 自从我上次使用它以来发生了很大的变化,所以我建议对游戏进行分析(xcode 中有分析器),看看实际的瓶颈是什么。对于动画,基本上我是在 sprite 的 update 方法中手动实现动画(通过切换帧)【参考方案3】:
当显示不需要动画的菜单或对话框时,您实际上可以进一步降低帧速率。
【讨论】:
以上是关于使用 cocos2d 应用程序降低功耗的可能性的主要内容,如果未能解决你的问题,请参考以下文章