Qualcomm Snapdragon S4 (Krait) Performance Preview - 1.5 GHz MSM8960 MDP and Adreno 225 Benchmarksby Brian Klug & Anand Lal Shimpi on February 21, 2012 3:01 AM EST
The MSM8960 is an unusual member of the Krait family in that it doesn't use an Adreno 3xx GPU. In order to get the SoC out quickly, Qualcomm paired the two Krait cores in the 8960 with a tried and true GPU design: the Adreno 225. Adreno 225 itself hasn't been used in any prior Qualcomm SoC, but it is very closely related to the Adreno 220 used in the Snapdragon S3 that we've seen in a number of recent handsets.
Compared to Adreno 220, 225 primarily adds support for Direct3D 9_3 (which includes features like multiple render targets). The resulting impact on die area is around 5% and required several months of work on Qualcomm's part.
From a compute standpoint however, Adreno 225 looks identical to Adreno 220. The big difference is thanks to the 8690's 28nm manufacturing process, Adreno 225 can now run at up to 400MHz compared to 266MHz in Adreno 220 designs. A 50% increase in GPU clock frequency combined with a doubling in memory bandwidth compared to Snapdragon S3 gives the Adreno 225 a sizable advantage over its predecessor.
|Mobile SoC GPU Comparison|
|Adreno 225||PowerVR SGX 540||PowerVR SGX 543||PowerVR SGX 543MP2||Mali-400 MP4||GeForce ULP||Kal-El GeForce|
|# of SIMDs||8||4||4||8||4 + 1||8||12|
|MADs per SIMD||4||2||4||4||4 / 2||1||1|
|GFLOPS @ 200MHz||12.8 GFLOPS||3.2 GFLOPS||6.4 GFLOPS||12.8 GFLOPS||7.2 GFLOPS||3.2 GFLOPS||4.8 GFLOPS|
|GFLOPS @ 300MHz||19.2 GFLOPS||4.8 GFLOPS||9.6 GFLOPS||19.2 GFLOPS||10.8 GFLOPS||4.8 GFLOPS||7.2 GFLOPS|
We turn to GLBenchmark and Basemark ES 2.0 V1 to measure the Adreno 225's performance:
Limited by Vsync the Adreno 225 can actually deliver similar performance to the PowerVR SGX 543MP2 in Apple's A5. However if we drive up the resolution, avoid vsync entirely and look at 720p results the Adreno 225 falls short. Its performance is measurably better than anything else available on the Android side in the Egypt benchmark, however the older Pro test still shows the SGS2's Mali-400 implementation as quicker. The eventual move to Adreno 3xx GPUs will likely help address this gap.
Basemark ES 2.0 tells a similar story (updated: notes below):
In the original version of this article we noticed some odd behavior on the part of the Mali-400 MP4 based Samsung Galaxy S 2. Initially we thought the ARM based GPU was simply faster than the Adreno 225 implementation in the MSM8960, however it turns out there was another factor at play. The original version of Basemark ES 2.0 V1 had anti-aliasing enabled and requested 4X MSAA from all devices that ran it. Some GPUs will run the test with AA disabled for various reasons (e.g. some don't technically support 4X MSAA), while others (Adreno family included) will run with it enabled. This resulted in the Adreno GPUs being unfairly penalized. We've since re-run all of the numbers with AA disabled and at WVGA (to avoid hitting vsync on many of the devices).
Basemark clearly favors Qualcomm's Adreno architecture, whether or not that's representative of real world workloads is another discussion entirely.
The results above are at 800 x 480. We're unable to force display resolution on the iOS version of Basemark so we've got a native resolution comparison below:
|RightWare Basemark ES 2.0 V1 Comparison (Native Resolution)|
|Apple iPhone 4S (960 x 640)||16.623 fps||30.178 fps|
|Qualcomm MDP MSM8960 (1024 x 600)||40.576 fps||59.586 fps|
Even at its lower native resolution, Apple's iPhone 4S is unable to outperform the MSM8960 based MDP here. It's unclear why there's such a drastic reversal in standing between the Adreno 225 and PowerVR SGX 543MP2 compared to the GLBenchmark results. Needless to say, 3D performance can easily vary depending on the workload. We're still in dire need of good 3D game benchmarks on Android. Here's hoping that some cross platform iOS/Android game developers using Epic's UDK will expose frame rate counters/benchmarking tools in their games.