Game Development Community

New iPhone speed

by Christopher Evans · in iTorque 2D · 06/19/2009 (10:51 am) · 9 replies

Well, I just got the new iPhone 3G S and I moved my code over. I decide to let you guys know what the speed increase is that I am seen. I am using iTGB 1.1.

First load time seems a little bit faster I am getting about 2 to 6 sec faster load time.

On my menu screens I am getting around 60 fps. I was getting around 24 fps.

For game play I am getting around 22 to 25 fps on most of my levels, I was getting around 14 to 16 fps.

Some of my levels have next next to nothing on them and now I am getting 38 to 40 fps, when I was getting around 17 to 20 fps before.

I also tried Mable Blast, and on my old phone it seemed kind of choppy but now it feel smooth.

So the speed increase is real.

#1
06/19/2009 (11:38 am)
Good news. Now only if my phone order wasn't in perpetual "We have received your order and expect to process it soon" mode. :(
#2
06/19/2009 (11:46 am)
Good Lord, that's great news.

At least my game is very playable on the iPhone 3G, I'm sure it'll be a scream on the 3GS!
#3
06/20/2009 (12:59 am)
I'd say that's terrible news :)

Programs exclusively tested on a 3G S will look and play terrible on a 3G and even an iPod touch! With 40 million devices out there, that's not an insignificant number of devices. There are half a million 3G S phones pre-ordered, so the potential audience with slower devices is about 80 times as large ;)
#4
06/20/2009 (5:06 pm)
Doubling in speed is a very good thing long term. Eventually the 3GS will be the majority of those 40 million and it'll be what we target. I'm still targeting the 3G for the foreseeable future with possible 3GS features as optional for those with 3GS (like higher quality graphics etc).

There's talk about using a dual core ARM processor for the next iphone. That will be awesome.
#5
06/20/2009 (9:17 pm)
Unsure if the speed gain is really that good.

Giving that other iphone engines jumped from 25 to 60, it does show that there is a lot of potential currently burned through with iTGB that we are either unaware for our own optimization or that is actively burnt through by iTGB internally out of our control.


Also a dualcore cpu won't help iTGB much.
No torque engine available today is capable of using multiple cores usefully and TGB (thus iTGB), a descendant of TGE, is lightyears away of beeing able to do anything with it at all other then thread-locking two cpus instead of one.
The technology was written with single core, single command execution hardware in mind and first needs to be upgraded to the point where it is capable to work nicely with single core, multi command execution environments (nicely means, that the top 4 spots in instruments are no longer lock and lock releases as it is right now)
#6
06/21/2009 (3:39 am)
I don't think that the majority of the 40 million users will become 3G S owners - I think that we'll just get another 40 million with 3G S over the next couple of years. Lots of people have a phone/iPod that's working just fine, and they're sticking to that. Nerds who want the latest hardware are in a minority among iPhone users (from a sample of 10+ acquaintances and family members ;).

Some people using ad services have said the uptake of 3.0 among iPod touch users is miserable so far (4% in one developer's case), while iPhone users are so-so (25%), despite it being a free upgrade. Also remember that many people who have an iPod touch have only that, because they're happy with it. We won't see 3G S-level hardware for it until September/October, probably.

There's probably also a limit to how many 3G S devices Apple can produce until the end of the year. Can they churn out a million per month? Do they have that many pre-orders?

Apple developers suggested that people target everything in one program, rather than making programs targetted at only one level of hardware. Build with the 3.0 SDK, set the deployment target as low as you want, and use conditional code to toggle between 2.x/3.0 code and Open GL ES 1.1/2.0. You can also ask Cocoa objects if they support a specific method, which is even better than checking what OS version you're on.

I think that's the path iTorque should take. Check for availability of features, expand to make use of the available hardware. The engine could of course use some optimisations, too :)

It would be really nice for us developers if everybody upgraded straight away, though. I'd love to have some room to load things into memory without carefully killing off old objects.
#7
06/21/2009 (3:55 am)
Perhaps it would be a nice incentive if we put "Experience/Enhance this game with an iPhone 3GS" banner on the bottom of your title screen or App Store description.

#8
06/21/2009 (5:37 am)
You can not toggle to 2.0 if you target 2.x as you don't have the 3.x frameworks at hand required to do that.

to toggle between all the things you need to target at least OS 3.

But I agree on the general path.
It needs to adapt to additional things present on startup, not on a hardcoded base (similar to the extension detection present in torque)
#9
06/21/2009 (11:52 am)
Yes, build with SDK 3.0, to SDK 3.0, deployment target minimum 2.whateveryouneed (like Apple recommend in these cases).