Black Pixel

We are Black Pixel and we make software for your Mac and your iPhone. We’ve made some big changes over the last months. Now it’s time show you what we’re made of.

Who are you calling yellow?

Early iPhone 3G S OpenGL Test Results

Holy crap, this thing is fast

The new iPhone 3G S arrived today and I’ve been putting it through its paces by testing it out with several different configurations of the latest build of Plasma, an application I am developing for Tap Tap Tap. Plasma utilizes a lot of particle animation and is CPU intensive, so I’ve been eager to get a build running on the 3G S as soon as possible. As a reference point, I also ran all of the same tests on a second generation iPod Touch.

Hardware comparison

iPod Touch 2g:
CPU: Arm 6 running at 533 MHz
GPU: PowerVR MBX Lite

iPhone 3G S:
CPU: Arm 7 running at 600 MHz
GPU: PowerVR SGX

Results

After several different tests, the overall trend was starkly apparent:

    the iPhone 3G S ran about twice as fast as the 2g Touch in every test

The results are specific to our own application and are definitely not all-inclusive, but the figure is still significant and interesting. I haven’t updated any of the code to take advantage of the OpenGL ES 2.0 features, so this is simply comparing ES 1.1 performance on the two platforms.

The somewhat faster, next-generation CPU obviously should make a difference, but it looks like the PowerVR SGX has a very significant performance gain over the MBX.

(Update)

The question of the CPU contribution to performance was nagging at me, so I dug up the C source code for the Scimark2 benchmark suite from NIST and put together a quick test application for the iPhone. Scimark2 is a set of numerically intensive tests including FFTs, successive over relaxation (SOR), Monte Carlo calculations, matrix multiplications and LU decomposition - calculations similar to the ones we do in our application.

I ran the test on the Touch and the 3gs with both small and large (cache-blowing) datasets to see how they compared. Here are the results:

iPhone 3Gs:    6.42 Mflops (small dataset)  5.86 Mflops (large dataset)
2g Touch:      5.21 Mflops (small dataset)  4.86 Mflops (large dataset)

In these tests the 3G S comes out about 20% faster than the 2g Touch. Given that the clock speed of the 3G S is only about 12% faster, there is definitely some extra oomph coming from the upgraded processor architecture, but I think it’s pretty clear that the PowerVR SGX’s contribution to our performance increase is substantial.