Sunday, April 10, 2011
Apple iPad 2 GPU Performance Explored: PowerVR SGX543MP2 Benchmarked
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
Branching test - balanced
Branching test - fragment weighted
Branching test - vertex weighted
Common test - balanced
Common test - fragment weighted
Common test - vertex weighted
Geometric test - balanced
Geometric test - fragment weighted
Geometric test - vertex weighted
Exponential test - balanced
Exponential test - fragment weighted
Exponential test - vertex weighted
Fill test - texture fetch
For loop test - balanced
For loop test - fragment weighted
For loop test - vertex weighted
Triangle test - textured
Triangle test - textured, fragment lit
Triangle test - textured, vertex lit
Triangle test - white
Trigonometric test - balanced
Trigonometric test - fragment weighted
Trigonometric test - vertex weighted
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.