2010-11-01 3 views
1

Привет всем Письмо приложение для iphone с использованием cocos2d и объектива c. У меня установлена ​​частота кадров в 30 кадров в секунду с [[CCDirector sharedDirector] setAnimationInterval: 1.0/30]; это нормально, но в 1 точке приложения частота кадров увеличивается до 60-90 кадров в секунду на симуляторе при обмене между двумя сценами. Я поставил точку останова, чтобы получить значение анимацииInterval, и всегда говорит, что это 0.033, так почему частота кадров будет такой, как это? Я использовал [[CCDirector sharedDirector] stopAnimations]; и [[CCDirector sharedDirector] startAnimations]; при смене слоев и сцен, но я всегда возвращаю значение интервала, когда я начинаю его снова. любая помощь была бы оценена спасибоЧастота кадров приложения нестабильна

Это точная точка, когда fps идет гайками. когда gamescene загружается

[[CCDirector sharedDirector] stopAnimation]; 
GameScene *gameScene = [GameScene node]; 
[[CCDirector sharedDirector] replaceScene:gameScene]; 
[[CCDirector sharedDirector] startAnimation]; 
[[CCDirector sharedDirector] setAnimationInterval:1.0/30]; 
+6

Спайк в частоте кадров - это то, что вы делаете обе сцены 30 кадров в секунду. Когда они играют вместе, вы получите 60 + fps. Интервал говорит вам .033, потому что это все еще 30 кадров в секунду, но только с одной анимацией. Если вы играете с этим 30 и переключаете его на 15, вы должны видеть, что когда вы переключаетесь между передними и задними буферами или экранами, которые вы получаете около 30 кадров в секунду. – Jim

+0

Это была именно моя проблема, спасибо большое – glogic

ответ

0
CCDirector *director = [CCDirector sharedDirector]; 
[director setAnimationInterval:1.0/60]; 
[director setDisplayFPS:YES]; 

Попробуйте это, чтобы получить точный интервал в кадрах.

Смежные вопросы