2010-10-27 53 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