1

Cocos2dx 会循环更新屏幕,无论是否有新的东西要绘制。即使我有一个没有动画的精灵,也会调用 opengl 渲染器并以 60 fps 的速度修复屏幕 - 因此手机电池很快就会耗尽。

是否可以仅在必要时重绘屏幕(例如当精灵动画时)?

4

1 回答 1

2

并不真地。如果没有节点返回“状态已更改”标志,您可以破解引擎以不清除帧缓冲区。

然而,所有游戏引擎都会在每一帧中绘制所有内容——甚至是静止图像。不重绘没有什么好处,除了一点点电池。但是,如果“已更改”状态未正确更新,则可能会出现故障,而且检查已更改状态会增加不必要的开销。

因此:理论上是可能的,只是这样做是不明智的。

您可以在游戏没有更新时降低帧速率(暂时或完全通过导演动画间隔)或暂停导演以节省能量,但这会引入输入延迟。另一种方法是在本机 UI 框架中实现游戏,尤其是当您的游戏大部分时间处于空闲状态时。

于 2013-08-27T17:05:53.507 回答