Installed our game on a device that has OS 3.0, increased load times
by Geoff Rowland · in iTorque 2D · 05/18/2009 (10:36 am) · 12 replies
In order to make sure our game would run on a device that had OS 3.0 installed on it, I decided to upgrade one of our devices to the beta5 3.0 OS. Figured I'd post some results here in case anyone was interested in doing the same.
First I installed the OS on a 2nd gen iPod. I only installed the OS, I did not install the 3.0 SDK, since you can't submit anything to Apple that has been built with the 3.0 SDK yet. I then launched Xcode to deploy to the device and noticed that Xcode would not connect to the iPod - it's icon was yellow in Organizer. Turns out that you need the latest version of Xcode that comes with the 3.0 SDK in order to deploy to the device. Well I didn't want to possibly poison my system with any 3.0 SDK stuff, so I figured out I could just download the pre-release version of 8.2 iTunes and deploy an Ad-Hoc build to the device without any issues at all.
The good news was that our game booted up without any issues. I was expecting it to crap out on the loading screen like has been previously reported.
The bad news was that I noticed the loading time to be much longer. Using OS 2.2.1, our game is taking 12 seconds to load up on a 2nd gen iPhone. Using the 3.0 OS, our game is now taking 20 seconds! Our game takes roughly 16 seconds to load on the iPhone 3G - which means more than likely the game would crash (with 8xbadf00d error). (18 seconds to load on a 1st gen iPod with OS 2.2.1)
I am going to try compiling for Thumb to see that if that helps at all, although am doubtful that it will.
Anyone have an idea if this is a problem with iTGB in general, or possibly a bug in the 3.0 beta OS, or some combination of both? Pretty sure this is why all iTGB games currently in the AppStore crash out when run on 3.0 devices.
First I installed the OS on a 2nd gen iPod. I only installed the OS, I did not install the 3.0 SDK, since you can't submit anything to Apple that has been built with the 3.0 SDK yet. I then launched Xcode to deploy to the device and noticed that Xcode would not connect to the iPod - it's icon was yellow in Organizer. Turns out that you need the latest version of Xcode that comes with the 3.0 SDK in order to deploy to the device. Well I didn't want to possibly poison my system with any 3.0 SDK stuff, so I figured out I could just download the pre-release version of 8.2 iTunes and deploy an Ad-Hoc build to the device without any issues at all.
The good news was that our game booted up without any issues. I was expecting it to crap out on the loading screen like has been previously reported.
The bad news was that I noticed the loading time to be much longer. Using OS 2.2.1, our game is taking 12 seconds to load up on a 2nd gen iPhone. Using the 3.0 OS, our game is now taking 20 seconds! Our game takes roughly 16 seconds to load on the iPhone 3G - which means more than likely the game would crash (with 8xbadf00d error). (18 seconds to load on a 1st gen iPod with OS 2.2.1)
I am going to try compiling for Thumb to see that if that helps at all, although am doubtful that it will.
Anyone have an idea if this is a problem with iTGB in general, or possibly a bug in the 3.0 beta OS, or some combination of both? Pretty sure this is why all iTGB games currently in the AppStore crash out when run on 3.0 devices.
About the author
Recent Threads
#2
05/18/2009 (1:34 pm)
I'm still getting 10 second load times to my main menu right now on a OS 3.0 iphone 3G device and I'm compiling with Target 3.0 OS, Release mode, script_components_optimized.
#3
05/18/2009 (1:46 pm)
I just restarted my build of my game and I am able to get from first showing of the iTGB logo to the game screen in 7 seconds on my iPhone 3G running 3.0b5. Granted, there's probably comparatively less code than some of your near-completed works.
#4
I'll try using the latest version of Xcode to see if that makes a difference.
05/18/2009 (2:02 pm)
My settings are compiled for 2.2.1 using a Distribution build (based on Release build, so includes script_components_optimized). I am timing from the instant I press the icon on the springboard to the time the game is loaded.I'll try using the latest version of Xcode to see if that makes a difference.
#5
In other words it's perfectly safe to install the latest version of XCode.
05/18/2009 (2:03 pm)
Actually the latest version of XCode also fixes many of the E80000001 errors of deploying to the iPhone and iTouch. The operating system of the iPhone doesn't matter as the issue was caused by communication and validation mismatches.In other words it's perfectly safe to install the latest version of XCode.
#6
05/19/2009 (7:44 am)
Geoff, FYI, you can't submit to the App Store with your app built with the 3.0 SDK. It only needs to RUN PROPERLY on the 3.0 OS.
#7
05/19/2009 (9:04 am)
correct, I am not building with the 3.0 SDK, only running on 3.0 OS.
#8
05/19/2009 (10:36 am)
Let me get this straight - even if you have the iPhone SDK 3.0 beta and select 2.2.1 as the output in the project settings, they won't accept it?
#10
You've got it backwards. If you build against the 3.0 target they will immediately reject it. You HAVE to build against 2.2.1 or lower for the app store to accept your app. They will internally test against 3.0 release!
Once 3.0 is made available to the public, they will issue a final sdk and then you can build against that and the app store will allow it.
05/20/2009 (1:10 am)
@RaphaelYou've got it backwards. If you build against the 3.0 target they will immediately reject it. You HAVE to build against 2.2.1 or lower for the app store to accept your app. They will internally test against 3.0 release!
Once 3.0 is made available to the public, they will issue a final sdk and then you can build against that and the app store will allow it.
#11
05/20/2009 (5:15 am)
That's what I understood, but I just needed to know if I have to downgrade my SDK to the official 2.2.1 in order to submit before the real 3.0 SDK gets released. Either way, I'm currently targeting a 2.2.1 build, but I wanted to see if they can see at all if I'm using the newer Xcode. I only upgraded the SDK to 3.0 beta because I couldn't get the 2.2.1 SDK to talk to my 3.0 beta 5 iPhone 3G. I hope I'm making sense.
#12
05/21/2009 (11:12 am)
just wanted to give an update...after moving some more loading around, as well as getting rid of most of the scripts in the common folder that we aren't using at all, I managed to get load time down to 10 seconds on 2nd gen iPod, 13 seconds on iPhone 3G and 14 seconds on 1st gen iPod. Load time on 2nd gen iPod with OS 3.0 is at 16 seconds. This seems acceptable to me.
Geoff Rowland
Blue Omega Studio
So it is currently impossible to ship a game with iTGB that will work on 3.0 on all devices. I'd be curious if anyone using iTGB is submitting soon and if you app gets rejected due to taking too long to load on older devices (assuming you are supporting them).
I hope this is GG's #1 priority at this point.