When I start just one CCScene, framerate is 60fps, but if I change of scene (2 or more times) with transition, framerate decreases at 30fps. My scenes are very simple :
public SplashScreenLayer()
{
super(ccColor4B.ccc4(0, 0, 0, 255));
CCTexture2D texture = CCTextureCache.sharedTextureCache().addImage("splashscreen.png");
CCSprite splashScreen = CCSprite.sprite(texture,CGRect.make(0, 0, 800, 480));
splashScreen.setPosition(
( CCDirector.sharedDirector().winSize().width) / 2,
( CCDirector.sharedDirector().winSize().height) / 2
);
addChild(splashScreen);
this.schedule("update");
}
public void update(float dt)
{
_timeEllapsed += dt;
C.trace(_timeEllapsed);
if (_timeEllapsed > _kEndTime)
{
this.unschedule("update");
GameManager.sharedGameManager().changeScene(Constants.SCENE_HOME);
}
}
if (CCDirector.sharedDirector().getRunningScene() != null) oldScene = CCDirector.sharedDirector().getRunningScene();
switch (sceneID)
{
case Constants.SCENE_SPASH_SCREEN:
newScene = SplashScreenLayer.scene();
break;
case Constants.SCENE_HOME:
newScene = HomeLayer.scene();
break;
default:
newScene = HomeLayer.scene();
break;
}
if (CCDirector.sharedDirector().getRunningScene() == null)
{
CCDirector.sharedDirector().runWithScene(newScene);
} else
{
//CCDirector.sharedDirector().replaceScene(newScene);
//oldScene = null;
CCDirector.sharedDirector().replaceScene(CCFadeTransition.transition(_kTransitionDuration, newScene, ccColor3B.ccc3(0, 0, 0)));
}
}