iPhone 3G S is Hot!

June 15, 2009 in Technology

iphone3gs1

First, lets see what is inside new iPhone 3G S. Number of technical sites wrote reviews already (mostly based on well educated guess since real hardware is out of reach for most), so I will be brief:

  • New and shiny ARM Cortex-A8 as main CPU running at 600MHz. New chip maintains 100% backwards compatibility with older ARM1176 chips powering original iPhone family – so no worries here.
  • New PowerVR SGX chip serving as GPU. SGX family is a huge leap over MBX Lite which we saw in original iPhone. It is faster, has pixel and vertex shaders and supports a bunch of features you would normally get only on your desktop GPUs. It comes with OpenGL ES 1.1 and OpenGL ES 2.0 support too.
  • New NEON™ SIMD unit which is a fantastic addition to help in number crunching operations such as mesh skinning.
  • Double the L1 cache size and introduced L2 cache – this means speed.

All this is great great of course, but how could we help to reduce the complexity while supporting full spectrum of old and new devices? Thanks to the desktop origins of Unity engine, we have solved part of this problem even before iPhone was introduced. In order to harness wild variety of Macs and PCs with different GPUs Unity implemented mechanisms to determine capabilities of the graphics device and fallback to less demanding shaders at run-time.

You can learn more about SubShaders and Fallbacks here:

http://unity3d.com/support/documentation/Components/SL-Shader.html

Different graphic cards have different capabilities. This raises an eternal issue for game developers; you want your game to look great on the latest hardware, but don’t want it to be available only to those 3% of the population. This is where subshaders come in. Create one subshader that has all the fancy graphics effects you can dream of, then add more subshaders for older cards. These subshaders may implement the effect you want in a slower way, or they may choose not to implement some details

I’m really looking forward for Unity iPhone 1.1 being released so we can concentrate on adding OpenGL ES 2.0 support to Unity. Meanwhile you will be able to enjoy 8 texture combiners in a single pass available on the new iPhone 3G S devices.

We wrote a number of hand optimized assembly routines to speed up calculations on VFP coprocessor for Unity iPhone 1.1. For example skinning is now several times faster and significantly outperforms GPU! We’re going to continue this trend by harnessing NEON™ capabilities for iPhone 3G S.

One more thing I want to share with you – we have not seen the actual iPhone 3G S device yet. For better or worse, Apple have been really secretive. Right now we’re looking forward to get the devices from the first batch of publicly available ones. That should allow us to implement and test new features ASAP. Meanwhile we’re working close with Apple to verify existent content works fine on iPhone 3G S.

Comments (2)

Subscribe to comments
  1. Adams Immersive

    June 16, 2009 at 6:51 pm / 

    The 3GS sounds amazing and I’m glad to hear Unity will be jumping on it! My only problem with the 3GS is wishing I had one :)

  2. steddyman

    June 15, 2009 at 6:36 pm / 

    Thanks, thats sounds great.

    I thought you guys would have to start again to make use of the 3GS so it’s great news to learn Unity will already scale to take advantage of the hardware.

    Speaking of Unity iPhone 1.1 do you have an idea of a release date yet. This release is critical to something I am developing. I PM’d Tom a few days ago and I am still awaiting a reply.

    Thanks

Comments are closed.