2010-10-27 29 views
0

大家好 我有一個iPhone應用程序,即時通訊工作on.im使用目標C和Cocos2d的問題。幀速率急劇下降。我已經使用儀器測試了泄漏和分配等,並且在這方面看起來都很好。我目前沒有使用任何微粒或聲音,所以它不是那樣的。它只是動畫的精靈和交換層。我經歷了很多次,並且它正在適當地進入每層的解除分配,並且檢查所有事情上的保留計數,以確保所有內容都得到釋放,但是當我在層之間進行交換時,幀速率仍然下降。 日誌給我這個 CCLOG(@「cocos2d:無法在%s \ n中交換渲染緩衝區」,FUNCTION); 這被稱爲 - [EAGLView swapBuffers] 但我不知道那是什麼或如何解決它。 CPU採樣器說這佔CPU時間的77.2%。 任何想法將是偉大的即時讚不絕口。 g無法交換iPhone應用程序中的渲染緩衝區

回答

2

如果您在EAGLView被換出時仍然繪圖,則可能會出現這種情況。檢查交換緩衝區的位置,並確保在交換和恢復之前停止所有動畫。

+0

我正在嘗試使用[[CCDirector sharedDirector] stopAnimation]; \t hudLayer = [[HUDLayer alloc] init]; \t [self addChild:hudLayer z:2]; \t [[CCDirector sharedDirector] startAnimation];這是你怎麼樣?如果不是,你能舉個例子嗎?請和謝謝 – glogic 2010-10-27 13:04:54

相關問題