Thanks Dave.
Yes, the freeze is totally to do with the size of the next scene. In the app we’re doing, the user selects a page to goto so if preloading is being used it has to happen before the scene starts to transition. The problem is that there is no way to know when the preload has finished to start the transition. You could guess but either way, all this does is put a freeze or pause before the transition rather than in the middle as is currently happening.
Depending on the size of scenes, crossFade never works as advertised. When it is called, it must preload the next scene and then call the transition immediately so you get that thing where the code starts before the images have loaded. This results in a jerky or non-existent effect, just the next scene suddenly appearing.
Having investigated further, the issue seems to happen when using:
concurrent = true
But when using “fade” for instance when concurrent=false, there is no issue of jerky or unfinished transitions. The first scene fades out then the next fades in just fine. It must be preloading the next scene before starting the transition rather than at the same time as “crossFade” does…
This leads me to think about associating the fade in and out of our black rectangle with the alpha transition of the scenes used by Composer in “fade”. Using an enterFrame listener, it would be possible to check when the scene begins to fade and tether that to the alpha properties of the black rectangle. I’ve yet to try that but did hear Ed talking about seeing someone doing something similar. I’ve asked if he remembers specifically where he saw it here if anyone has seen anything similar:
https://forums.coronalabs.com/topic/58973-corona-geek-128-custom-transitions-and-functions/#entry305081