Device build is slower/choppier after installing Mountain Lion and Xcode 4.4

Even though at this point there is nothing I can do code-wise, I thought I would post this in the forum. My partner and I just finished our game that we worked on off and on for about 18 months. It’s a very simple game with a very simple mechanic, but we playtested and bugfixed the hell out of it. I noticed that with one of the last latest builds of Corona (from about May or June or so) and updating Xcode to 4.02 a good while ago, that one of the enemies caused a slight hiccup in the frame rate when it appeared on screen. Every other enemy in my game didn’t cause any frame drop. I scoured my code and tested for memory leaks and found none. I had not touched any code affecting that particular enemy for months prior to May. We decided that even with the small hiccup, the game was shippable. My 2nd last test build from 2 days ago ran smooth as glass. Yesterda, I updated to Mountain Lion, installed Xcode 4.4, and also installed the latest build of Corona (2012.870) and now find that the smoothness is gone. The game seems to run at a lower framerate. It’s not unplayable, but still noticable. We checked our device for anything that might be running in the background and also turned off WiFi… still no change.

My test device is a 3rd gen iPod Touch. There is nothing in my code that would cause the slowdown. In fact I haven’t touched the code since my 2nd last test build. So what is causing the framedrop? Corona? Xcode? Or some shady Apple conspiracy where Apple is coercing people into buying newer devices by purposely slowing down apps, secretly, so they run like crap on older devices? :stuck_out_tongue: (Though, to be honest, I actually wouldn’t be surprised). [import]uid: 10622 topic_id: 29481 reply_id: 329481[/import]

Hi! I just wanted to post and say that we’re experiencing the same issue. Updated to Mountain Lion and xcode 4.4 and Corona Daily Build 868. The game seems to be running at a lower framerate than before on the device (iPhone 4S). The game used to run at 60fps, but looks to be a lot slower now.

Any ideas what might caused this issue? There’s no difference in the code between the versions.
Thanks!

[import]uid: 33246 topic_id: 29481 reply_id: 119036[/import]

I just did some testing and I don’t see any speed (FPS) differences between build 840 and 870. I’m running 10.8 with Xcode 4.4 on a iPhone4 and iPad2.

If you can create a test project that demonstrates the difference and tell us which build caused the change, we can look into it. Please file a bug report with the demonstration project.

Upgrading to 10.8 and Xcode 4.4 would not affect the FPS that you see on the device. We are still building against iOS 5.1 SDK.
[import]uid: 7559 topic_id: 29481 reply_id: 119122[/import]

Thanks for looking into it. I’ll try and test some more on my part and se if i can make a testcase during next week.

Thanks! [import]uid: 33246 topic_id: 29481 reply_id: 119124[/import]

I’m not sure how I can recreate the test. My 2nd last device build was built on Snow Leopard with Xcode 4.02 and daily build 2012.732 (or 34 around there). I updated everything because I was getting that stupid arm6 architecture not supported error. The error showed up on test builds too, however I was still able to install onto my device and test, so there was no need until publishing time to update anything. I highly doubt that the problem lies in Corona. Since corona is improving and daily builds are fixing bugs, it would be weird that all of a sudden the Corona SDK has a bug that causes an app to run slower. It would have to be a major glaring bug to do that. I think this is on Apples end. Mostly I’m just curious to see if others are experiencing it. If so, and so far 1 other here has reported it, then I’d bet that the problem is with the new version of Xcode. That’s also why you’re not seeing any performance difference between daily build 840 and 870, you’re still on the same OS and using Xcode 4.4. [import]uid: 10622 topic_id: 29481 reply_id: 119129[/import]

Based on the reports of performance issues after building with OSX 10.8 and Xcode 4.4, I decided to do more testings and compare building for iOS devices using 10.7 and Xcode 4.3 vs 10.8 and Xcode 4.4. I also compared a number of Corona builds and different iOS versions. Here is what I found.

First off, I found no difference between building with Xcode 4.3 and 4.4. I also found no difference between building on OSX 1.7 vs. 1.8. By difference, I mean measuring graphics performance (FPS) on iPhone3G, iPhone4, and iPad2. The devices were running iOS 5.0, 5.1.1, and 4.3.5. All the performance numbers were virtually equal when building on different platforms with the same Corona build.

This makes sense to me since all the code building is done on our servers and not on the client machine. The client (Corona Simulator) uses Xcode and the OS to piece together the assets (images, sounds, etc.) with the build code returned from the server. We also use the tools in Xcode to “crunch” the PNGs and validate/sign the build. (Since we use the tools in Xcode, Apple can move those tools around which causes Corona to break when new versions of Xcode are released.)

In my testing, I compared graphic performance times between different CoronaSDK builds. Here are those results (running an internal graphics benchmark program):

 704a   704a18 704b   704b18   758    759    840   870
iPhone 3GS (ios 5.0) 108     108     108     108   108    127    127   127
iPhone 4 (ios 4.3.5) 40     40     40     40     40   30     30    30
iPad2 (ios 5.1.1) 365     365    358     358   358    423    423   423

(Note: The higher the number, the better graphics performance.)

704a = OS 10.7, Xcode 4.3, iOS SDK 5.0
704a18 = OS 10.8, Xcode 4.4, iOS SDK 5.0
704b = OS 10.7, Xcode 4.3, iOS SDK 5.1
704b18 = OS 10.8, Xcode 4.4, iOS SDK 5.1
758 = OS 10.8, Xcode 4.4, iOS SDK 5.1
759 = OS 10.8, Xcode 4.4, iOS SDK 5.1 with Corona graphics improvements

The bottom line is there is no difference between Xcode 4.3 and 4.4; OS 1.7 and 1.8.
iOS 5 devices received a performance update from build 759.
iOS 4 device suffer overall because iOS5 changes didn’t target iOS4.

I also did a quick Physics performance test and saw similar results to that of my graphics testing.

Update: It should be noted the lower performance of the iPhone4 running iOS 4.3.5. The performance drop (compared to iPhone3 with iOS5.0) was not caused by anything we did in Corona but because we are compiling with iOS 5 SDK. Apple only enhances and test for devices running the most recent iOS. After build 704 we dropped support for all iOS devices below 4.3.5 because Apple no longer supported them either. At some point we will drop iOS 4.3.5 (maybe when iOS 6 is released) because Apple is clearly not doing anything to support those devices and we may find that they introduced bugs in that version of the OS.

-Tom

[import]uid: 7559 topic_id: 29481 reply_id: 119358[/import]

Thank you Tom. I really appreciate that you ran this test. It’s very interesting to see those numbers. My test device has the first release of iOS 5.0 on it, however because I was using Xcode 4.02, I was building for iOS 4.3. I’m going to update the test device to the latest iOS 5 update and see what happens out of curiosity. With all the new faster iOS devices out there, I don’t think we have much to worry about, about framerate in our game.

Thanks again. :slight_smile: [import]uid: 10622 topic_id: 29481 reply_id: 119385[/import]