In my game my first scene is an exact copy of the Default.png (with the addition of a loading animation). For some while it has annoyed me that there is a perceptible flash on the transition between the two. After some debugging it seems to me that the problem comes from the Director only scheduling its mainloop and then returning from runWithScene. By the time mainloop actually runs the window has refreshed with the empty back buffer(?). At least, I know that on leaving the application delegate the Default.png is still displayed, but when the mainloop is entered for the first time the screen is blank.
So as an experiment I added a call to mainloop at the end of startAnimation. Sure enough the scene gets visited before returning and the black frame is no more.
My question is: is this safe? Everything seems to run fine and I don't see any initialization happening after the inserted call, but I haven't spent a long time looking through Director so it leaves me a little uneasy.
For reference, I am not using FastDirector and I am attaching to a UIWindow, not a UIView.
Comments?