Dual Core Snapdragon GPU Performance Explored - 1.5 GHz MSM8660 and Adreno 220 Benchmarksby Brian Klug on March 30, 2011 4:29 PM EST
Quake 3... er... kwaak3
Quake has been a regular fixture in our mobile GPU benchmarking suite, and likewise we ran it on the MSM8660. It's starting to show its age however, as we've quickly gone from virtually unplayable framerates a little over a year ago to hitting the 60 FPS framerate cap on virtually every newish SoC.
That said, it's still worth using to demonstrate performance gains, even if it isn't entirely representative of what game engines will look like going forward.
Here we can see just how obvious that framerate cap is by looking at the clustering of results right around 55-60 FPS. The cap on Qualcomm's MDP is a precise 60 Hz, but the cap on Hummingbird and others is around 56.
There's a significant jump from Adreno 200 to 205 of 2.9x, though it's likely we're capped on the Inspire 4G. I'd have numbers from the myTouch 4G as well, but it's impossible to get console to come up since the search button has been repurposed as the "Genius" button. Now I remember why I got stuck on that phone.
3DMark Mobile 2010
3DMark Mobile by Rightware is a new one for us. We've used Rightware's newer mobile GPU benchmark, Basemark, for some time now, but encountered instability on the MDP and MSM8660 and couldn't get test runs to complete and produce useable results. In addition there was some missing geometry and textures that we felt invalidated some runs.
Qualcomm provided us an APK of 3DMark Mobile 2010 which I ran on the MDP and all the other Qualcomm SoC-packing devices I had on hand. I'm not sure whether this APK was Adreno specific like I've heard 3DMM can be, but for whatever reason it didn't want to run on any other devices on hand from any other vendors. It is useful for showing generational performance differences between Adreno 200, 205, and 220, however.
The first test is Taiji and seems to be the more graphically demanding of the two, featuring some water pixel shading, normal mapping, and a complicated scene.
In Taiji we can see truly generational performance differences between the three Adreno GPUs. Adreno 205 is 4.5x faster than Adreno 200, and then Adreno 220 is 2.0x faster than Adreno 205. Keep in mind we're also dealing with different clock speeds and memory architectures between those last two, however.
The second test is Hoverjet, and isn't quite as demanding. Interestingly enough, Adreno 205 doesn't do quite as well here. There's now a 4.5x performance gain from Adreno 205 to Adreno 220.
3DMark Mobile 2010 feels a bit old to us, and Rightware has indicated that Basemark will be their flagship mobile GPU benchmarking suite going forward. Once those stability issues are addressed, we'll finish running the MDP – and thus MSM8660 – and update things.
Quadrant 3D and 2D
Last and definitely least (at least in my mind) on the list is Quadrant, which has unfortunately become something of a de-facto one stop shop for benchmarking Android devices, famously spitting out one easy to digest score. Grab the pro version, and you get subtest scores. Its developers aren't very open about what all is being tested in the suite, the overall score is heavily skewed by I/O performance. Moreover the subtests themselves don't seem heavy enough for this current, much less upcoming, generation of SoCs. Benchmarking tools are rapidly evolving in the mobile space, and I expect to see far better tools quickly displace ones like Quadrant.
That said, we went ahead and ran the whole suite on the MDP just with Vsync off. I've seen some issues with Quadrant's 3D tests on Android 2.3 before, and the MDP was no exception. Again, we're going to do more CPU plus overall performance testing along with an architecture deep dive in an upcoming piece, but for now you can get a bit of that in the overall score.
What all Quadrant is putting emphasis on with its 2D and 3D subtests is something of a mystery to me. There isn't a whole lot of documentation, but again it's become something of a standard. The 1.5 GHz MSM8660 leads in overall score and the 2D subtest, but trails Tegra 2 in the 3D subtest. If you notice the difference between Hummingbird (SGX540) from 2.1 to 2.3, you can see how Quadrant's strange 3D behavior on Android 2.3 seems to continually negatively impact performance. I saw the same odd missing texture and erratic performance back when I tested the Nexus S as I did on the MDP. Things like this and lack of updates are precisely why we need even better testing tools to effectively gauge performance.
As it is now, Adreno 220 shows anywhere from 2-5x performance gains over Adreno 205. Right now the reasons for those improvements aren't entirely clear, but we're going to do a GPU architecture deep dive relatively shortly and sort everything out. Likewise, we'll evaluate the 1.2 GHz MSM8660 and compare. Devices with the MSM8x60 aren't that far off - we're looking forward to getting our hands on the HTC Pyramid and EVO 3D which both will likely have 1.2 GHz MSM8x60 inside.
When we first started looking at Qualcomm's Snapdragon SoCs we were impressed by their CPU performance but largely put off by the performance of the Adreno 200 GPU. The 45nm Snapdragon with the Adreno 205 GPU changed things as it roughly doubled GPU performance. The Adreno 220 brings about another doubling in GPU performance.
We'll eventually see more conservative GPU performance gains in line with Moore's Law, however for the foreseeable future these sorts of yearly generational improvements are to be expected.