2013-08-27 25 views
1

無論是否有新東西繪製,Cocos2dx都會更新屏幕。 即使我有一個沒有動畫的精靈,也會調用opengl渲染器並以60 fps的速度對屏幕進行返回 - 所以手機電池放電速度非常快。Cocos2dx - 如何僅在必要時更新屏幕

是否有可能只在必要時重新繪製屏幕(例如,當精靈動畫時)?

回答

2

不是。如果沒有節點返回「狀態已更改」標誌,則可能會破壞引擎以不清除幀緩衝區。然而,所有的遊戲引擎都會在每一幀畫出一切 - 甚至是靜止圖像。沒有任何贏得通過不重繪,除了可能是一個小電池。然而,如果「更改」狀態沒有正確更新,則可能會出現小故障,並且還會增加檢查更改狀態的額外開銷。

因此:這在理論上是可行的,但這樣做並不明智。

雖然這會引入輸入延遲,但您可以通過導演動畫間隔(暫時或完全通過導演animationInterval)或暫停導演節省能量來減少幀率。另一種方法是在原生UI框架中實現遊戲,特別是如果您的遊戲大多處於閒置狀態。