Thoughts from the Furry Tail Apps gang We create apps for iOS and Mac.

17May/100

iPhone Application Programming – Free content from Stanford

iPhone Application Programming - Free content from Stanford

Great podcasts from Stanford University on iPhone programming. Great for newbies (together with a book or two)!

Tools and APIs required to build applications for the iPhone platform using the iPhone SDK. User interface designs for mobile devices and unique user interactions using multitouch technologies. Object-oriented design using model-view-controller pattern, memory management, Objective-C programming language…

8Mar/100

iPhone vs iPad – What performance should game developers expect?

Apple A4 SoC In just four days Apple’s online store will open the iPad section for pre-orders. Somewhere just shy of a million units are expected to ship april 3rd. Apple has as usual kept the lid on the actual specifications of the device, so we’re left with only speculations and rumors regarding what to expect. And oh do Apple users love to speculate :-) Like many others, I’m very curious as to what performance the iPad will be able to deliver for games. So, I’ve scouted the interblag searching for clues, and this is what I’ve come up with:

A look at the CPU

As you can see, the CPU in the iPad is rumored to be the same as in the iPhone, only running at a higher frequency. Unlike the A4 SoC, The ARM processor isn’t manufactured by Apple. Some bloggers have based on this questioned why Apple then acquired processor engineering company P.A. Semi back in 2008. The answer seems to be that we might see a brand spanking new CPU in the next generation of iPads or iPhones, when enough time has been given to development. The P.A. Semi people may also have worked with the A4 to minimize its power consumption.

What to expect from the GPU

The GPU is manufactured by Imagination Technologies, which Apple as of 2010-03-08 owns 9.5% of. The SGX 5 series, which the iPad GPU  may be part of, has the following characteristics:

  • OpenGL ES 2.0 and OpenGL ES 1.1 + Extension Pack
  • Desktop OpenGL 2.0 (SGX535/545) and 3.0 (SGX545)
  • OpenVG 1.1 enabling Flash and SVG
  • PVR2D for legacy 2D Support (BLTs, ROP2/3/4)
  • OpenWF enabling advanced compositing
  • OpenCL Embedded and Full Profile (SGX545) for GP-GPU

Imagination’s Series 5 lineup also contains the following similar GPUs (I would love some comments based on real world experience on this):

  • SGX520 (7 MPolys/s, 250Mpx/s) for the handheld mobile market
  • SGX530/1 (14 MPolys/s) for the handheld mobile market
  • SGX535 and SGX540 (28 MPolys/s) for handheld high end mobile, portable, MID, UMPC, consumer, and automotive devices
  • SGX540 (1000M pix/s, 20-35M Polys/s), SGX545, SGX555

Intel uses the SGX535 in their GMA500, and they describe it as (PDF):

A flexible, programmable architecture that supports shader-based technology, 2D, 3D and advanced 3D graphics, high-definition video decode, and image processing. Features include screen tiling, internal true color processing, zero overhead anti-aliasing, programmable shader 3D accelerator, and 32-bit floating-point operations

The speculation that the iPad runs on a SGX535 is to some extent based on best guess, and on a paragraph in the SDK documentation (To access the documentation you need to be part of the iPhone developer program):

Using OpenGL ES on iPad is identical to using OpenGL ES on other iPhone OS devices. An iPad is a PowerVR SGX device and supports the same basic capabilities as other SGX devices. However, because the processor, memory architecture, and screen dimensions are different for iPad, you should always test your code on an iPad device before shipping to ensure performance meets your requirements.

I would hold it as probable that he first model of the iPad runs the 535 GPU, while upcoming versions may run the much more powerful SGX545.

Conclusions

It is very likely that we will see great increases in performance over the next year or two, both for the iPad and the iPhone. It will be interesting to see if Apple continues to keep the devices more or less in sync. There are good market reasons for doing so, but the iPad is a device that will create different expectations than the iPhone, both regarding performance and battery life. For now, I would hold it as likely that the spec table above is correct, and that the iPhone 3GS performance should be used as a benchmark for iPad development. The first update to the iPad will definitely pack more punch.

More in-depth knowledge

  • The iPhone 3GS architecture: http://www.anandtech.com/gadgets/showdoc.aspx?i=3579
  • The iPad CPU: http://arstechnica.com/apple/news/2010/02/meet-the-a4-the-ipads-brain.ars
  • Comparison of iPhone models: http://www.rapidrepair.com/guides/iphone-3g-s-repair/iphone-3g-s-comparison-chart.html
  • Straight from the horse’s mouth: http://www.apple.com/ipad/specs/
  • Power VR Series 5: http://www.imgtec.com/powervr/sgx_series5.asp