Sunday, April 10, 2011

Apple iPad 2 GPU Performance Explored: PowerVR SGX543MP2 Benchmarked

at least in web browsing. We were able to exceed Apple's claim of up to 2x performance increase in some synthetic tests, but even a 50% increase in javascript and web page loading performance isn't anything to be upset about. We briefly touched on the GPU: Imagination Technologies' PowerVR SGX 543MP2. Here Apple is promising up to a 9x increase in performance, but it's something we wanted to investigate.

Architecturally the 543MP2 has more than twice the compute horsepower of the SGX 535 used in Apple's A4. Each shader pipeline can execute twice the number of instructions per clock as the SGX 535, and then there are four times as many pipes in an SGX 543MP2 as there are in a 535. There are also efficiency improvements as well. Hidden surface removal works at twice the rate in the 543MP2 as it did in the 535. There's also a big boost in texture filtering performance as you'll see below.

As always we turn to GLBenchmark 2.0, a benchmark crafted by a bunch of developers who either have or had experience doing development work for some of the big dev houses in the industry. We'll start with some of the synthetics.

Over the course of PC gaming evolution we noticed a significant increase in geometry complexity. We'll likely see a similar evolution with games in the ultra mobile space, and as a result this next round of ultra mobile GPUs will seriously ramp up geometry performance.

Here we look at two different geometry tests amounting to the (almost) best and worst case triangle throughput measured by GLBenchmark 2.0. First we have the best case scenario - a textured triangle:

Geometry Throughput - Textured Triangle Test

The original iPad could manage 8.7 million triangles per second in this test. The iPad 2? 29 million. An increase of over 3x. Developers with existing titles on the iPad could conceivably triple geometry complexity with no impact on performance on the iPad 2.

Now for the more complex case - a fragment lit triangle test:

Geometry Throughput - Fragment Lit Triangle Test

The performance gap widens. While the PowerVR SGX 535 in the A4 could barely break 4 million triangles per second in this test, the PowerVR SGX 543MP2 in the A5 manages just under 20 million. There's just no competition here.

I mentioned an improvement in texturing performance earlier. The GLBenchmark texture fetch test puts numbers to that statement:

Fill Rate - Texture Fetch

We're talking about nearly a 5x increase in texture fetch performance. This has to be due to more than an increase in the amount of texturing hardware. An improvement in throughput? Increase in memory bandwidth? It's tough to say without knowing more at this point.
Apple iPad vs. iPad 2
Apple iPad (PowerVR SGX 535) Apple iPad 2 (PowerVR SGX 543MP2)
Array test - uniform array access
3412.4 kVertex/s

3864.0 kVertex/s
Branching test - balanced
2002.2 kShaders/s

11412.4 kShaders/s
Branching test - fragment weighted
5784.3 kFragments/s

Branching test - vertex weighted
3905.9 kVertex/s

3870.6 kVertex/s
Common test - balanced
1025.3 kShaders/s

4092.5 kShaders/s
Common test - fragment weighted
1603.7 kFragments/s

3708.2 kFragments/s
Common test - vertex weighted
1516.6 kVertex/s

3714.0 kVertex/s
Geometric test - balanced
1276.2 kShaders/s

6238.4 kShaders/s
Geometric test - fragment weighted
2000.6 kFragments/s

6382.0 kFragments/s
Geometric test - vertex weighted
1921.5 kVertex/s

3780.9 kVertex/s
Exponential test - balanced
2013.2 kShaders/s

11758.0 kShaders/s
Exponential test - fragment weighted
3632.3 kFragments/s

11151.8 kFragments/s
Exponential test - vertex weighted
3118.1 kVertex/s

3634.1 kVertex/s
Fill test - texture fetch
179116.2 kTexels/s

890077.6 kTexels/s
For loop test - balanced
1295.1 kShaders/s

3719.1 kShaders/s
For loop test - fragment weighted
1777.3 kFragments/s

6182.8 kFragments/s
For loop test - vertex weighted
1418.3 kVertex/s

3813.5 kVertex/s
Triangle test - textured
8691.5 kTriangles/s

29019.9 kTriangles/s
Triangle test - textured, fragment lit
4084.9 kTriangles/s

19695.8 kTriangles/s
Triangle test - textured, vertex lit
6912.4 kTriangles/s

20907.1 kTriangles/s
Triangle test - white
9621.7 kTriangles/s

29771.1 kTriangles/s
Trigonometric test - balanced
1292.6 kShaders/s

3249.9 kShaders/s
Trigonometric test - fragment weighted
1103.9 kFragments/s

3502.5 kFragments/s
Trigonometric test - vertex weighted
1018.8 kVertex/s

3091.7 kVertex/s
Swapbuffer Speed


Enough with the synthetics - how much of an improvement does all of this yield in the actual GLBenchmark 2.0 game tests? Oh it's big.

No comments:

Post a Comment