Why has graphics 2.0 killed my frame rate?

OK so I spent the weekend modifying an app template to this: https://www.youtube.com/watch?v=yUmALvV0P7w

It’s doing a lot of scaling, rotating etc. each frame but with a little optimisation it ran just fine on a variety of ios and android hardware.

However on the iPhone 4 and iPod 4S forget it.  I didnt profile it but I reckon the frame rate dropped into the 20’s.  So I started stripping stuff out and it couldn’t seem to handle the bare minimum of scaling up the circles, no rotation or anything other than scaling them up.

I decided as a test to roll it back to graphics 1.0 tonight and the difference in performance is staggering. I’m almost back to having everything up and running again.

Why??  It’s not like I can submit an iPhone 4 version with iOS so the whole project must be downgraded.

(I was using build 2189 then rolled back to 1244 for the comparison)

I assume it’s because Graphics 2.0 makes use of the device’s GPU in ways that wasn’t done before.

From my own testing the iPhone 4 and iPod Touch 4th generation seem to have underpowered GPU’s. Basically they’re using the same GPU as 3rd generation devices, but have to drive 4 times the number of pixels (retina display) causing them to lag horribly in certain cases.

Why this wasn’t as issue in Graphics 1.0 I can’t explain. I don’t have any knowledge about the internal differences between G1 and G2.

In cases where I’ve seen this, apps run fine on iPhone 3GS / iPod Touch 3rd gen and iPhone 4S/5/5S, but not on iPhone 4 / iPod Touch 4th gen.

Hmm, strange … with Graphics 2.0 I obeserved rather (small) performance improvement then downgrade…

@piotrz55

Overall I’d say the same, however there are certain things that make these 2 devices in particular suffer.

I’ll have to make a video of the same code running on the ipod 4 with the 2 different builds.  I couldn’t believe the difference.  It’s actually disappointing to see the performance drop so much with the new engine.  I mean how many people out there must still be using the older ios hardware?

This should do the talking.  Top version is graphics 2.0.  The code is very slightly less optimised but not that different.  Even if I stripped everything out so it was just the big shapes scaling up I couldn’t get any better performance.  The bottom one is running the optimised version build with Corona 1262 (graphics 1).  I even tried building that version in compatibility mode and that could barely run.  

https://www.youtube.com/watch?v=R9gg7wR2M38&feature=youtu.be

Thats 2 apps in 2 weeks that I’ve spent countless hours on trying to get running smoothly. :frowning:

“I mean how many people out there must still be using the older ios hardware?”

unity has some pretty good mobile hardware statistics.

iPhone 4: 11.2%

iPod Touch 4th: 4.6%

http://stats.unity3d.com/mobile/device-ios.html

I assume it’s because Graphics 2.0 makes use of the device’s GPU in ways that wasn’t done before.

From my own testing the iPhone 4 and iPod Touch 4th generation seem to have underpowered GPU’s. Basically they’re using the same GPU as 3rd generation devices, but have to drive 4 times the number of pixels (retina display) causing them to lag horribly in certain cases.

Why this wasn’t as issue in Graphics 1.0 I can’t explain. I don’t have any knowledge about the internal differences between G1 and G2.

In cases where I’ve seen this, apps run fine on iPhone 3GS / iPod Touch 3rd gen and iPhone 4S/5/5S, but not on iPhone 4 / iPod Touch 4th gen.

Hmm, strange … with Graphics 2.0 I obeserved rather (small) performance improvement then downgrade…

@piotrz55

Overall I’d say the same, however there are certain things that make these 2 devices in particular suffer.

I’ll have to make a video of the same code running on the ipod 4 with the 2 different builds.  I couldn’t believe the difference.  It’s actually disappointing to see the performance drop so much with the new engine.  I mean how many people out there must still be using the older ios hardware?

This should do the talking.  Top version is graphics 2.0.  The code is very slightly less optimised but not that different.  Even if I stripped everything out so it was just the big shapes scaling up I couldn’t get any better performance.  The bottom one is running the optimised version build with Corona 1262 (graphics 1).  I even tried building that version in compatibility mode and that could barely run.  

https://www.youtube.com/watch?v=R9gg7wR2M38&feature=youtu.be

Thats 2 apps in 2 weeks that I’ve spent countless hours on trying to get running smoothly. :frowning:

“I mean how many people out there must still be using the older ios hardware?”

unity has some pretty good mobile hardware statistics.

iPhone 4: 11.2%

iPod Touch 4th: 4.6%

http://stats.unity3d.com/mobile/device-ios.html