GLBenchmark 2.1 Solves Our Resolution Problems

Modern Android smartphones either run at 800 x 480 (WVGA) or 960 x 540 (qHD). The iPhone 4 features a 960 x 640 (DVGA) display, while the iPad 2 has a 1024 x 768 (XGA) panel. To complete the confusion Honeycomb tablets run at 1280 x 800 (WXGA). While measuring 3D performance at native resolution is useful in determining how well games will run on a device, it's not particularly useful in comparing GPUs. Fill rate and memory bandwidth requirements increase with pixel count. Even just between Android devices, those with a qHD display have 35% more pixels to render than their WVGA counterparts.

Unfortunately not all benchmarks give us the ability to perform tests at a common resolution. To make matters worse, not all devices are even capable of running at the resolutions we'd want to test. BaseMark ES2, the rebranded 3DMarkMobile allows us to specify display resolution which we have done in previous reviews. For smartphones we standardize on 640 x 480 and for tablets it's 1024 x 768. GLBenchmark however hasn't given us the ability to do that until recently.

GLBenchmark 2.1 now includes the ability to render the test offscreen at a resolution of 1280 x 720. This is not as desirable as being able to set custom resolutions since it's a bit too high for smartphones but it's better than nothing. The content remains unchanged from GLBench 2.0, there are still two primary tests that measure overall OpenGL ES 1.0 and 2.0 performance in addition to a number of specific synthetic feature tests.

We'll start with some low level tests to give us an idea of what we're looking at. First up is a raw triangle throughput test:

GLBenchmark 2.1 made some changes to the fill rate and triangle throughput tests so these numbers aren't comparable to the 2.0 results. Although the Nexus S' single core CPU, older drivers and lower clocked GPU put it at the bottom of the list, the LG Optimus 3D is the best showing of the PowerVR SGX 540. The SGX 540 in the LG phone ends up at around half the peak triangle rate of the iPad 2, perhaps due to better drivers or a higher clock speed. Here we see the true limitations of ARM's 4:1 pixel to vertex shader architecture. The Mali-400 barely outperforms the Nexus S and offers around 1/3 of the triangle rate of the PowerVR SGX 540 in the Optimus 3D. The Adreno 220 does well here and ends up at around 2x the performance of the Mali-400.

As we move to a more complex triangle test the PowerVR SGX 540 in the Optimus 3D is now only 85% faster than the Mali-400. The Nexus S' performance, despite using the same GPU, is simply abysmal. The Adreno 220 drops to only 37% faster than the Mali-400. No matter how you slice it, the 4-core Mali-400 just can't compete in geometry performance with today's GPUs. Luckily for ARM however, most mobile games aren't geometry bound - what we really need here is pixel processing power and that's something Mali-400 does deliver quite well.

GLBenchmark 2.1's fill test paints a different picture for Mali-400. Here the SGX 540 is less than half the speed while the iPad 2's SGX 543MP2 is about twice the speed. The Mali-400's texturing performance is very solid, no GPU currently shipping in a smartphone can touch it.

What about in a game-like workload? For that we turn to the standard GLBenchmark game tests: Egypt and Pro.

GLBenchmark 2.1—as its name implies—tests OpenGL ES 2.0 performance on compatible devices. The suite includes two long benchmarking scenarios with a demanding combination of OpenGL ES 2.0 effects - texture based and direct lighting, bump, environment, and radiance mapping, soft shadows, vertex shader based skinning, level of detail support, multi-pass deferred rendering, noise textures, and ETC1 texture compression.

GLBenchmark 2.1 is the best example of an even remotely current 3D game running on this class of hardware—and even then this is a stretch. If you want an idea of how the Mali-400 stacks up to the competition however, GLBenchmark 2.1 is probably going to be our best bet (at least until we get Epic to finally release an Unreal Engine benchmark).

First let's look at the 1280 x 720 results from 2.1:

Despite huge disadvantages in geometry performance the Mali-400 does extremely well in the Egypt test, outpacing most of its competitors by a factor of 2. Only the iPad 2 is faster but that's to be expected based on the raw horsepower of its GPU. Given current workloads, ARM's Mali-400 is clearly the fastest GPU available on a smartphone today.

The dominance continues in the Basemark ES 2.0 tests, the Galaxy S II consistently delivers frame rates more than 2x those of its competitors. It's a shame that 3D gaming isn't a bigger deal on Android today because it'd be nice to really see ARM's high end GPU get a chance to flex its muscle on a regular basis.

For comparison to our older phones we've got our standard GLBenchmark 2.0 graphs below:

Scrolling Performance

The Galaxy S II is by far the smoothest scrolling Android device we've ever reviewed. Architecturally it has all of the right components to deliver a buttery smooth UI: gobs of memory bandwidth and a very high speed GPU. The software appears to complement it very well. Once again we turn to Qualcomm's Vellamo benchmark to quantify scrolling performance on the Galaxy S II:

Qualcomm Vellamo Benchmark - Scrolling Performance Tests WVGA Unless Otherwise Noted Ocean Flinger Image Flinger Text Flinger HTC EVO 3D (Adreno 220 - qHD) 68.98 26.03 41.79 Motorola Photon 4G (GeForce ULP) 62.07 17.64 35.21 Samsung Galaxy S 4G (PowerVR SGX 540) 55.98 26.27 31.83 Samsung Galaxy S 2 (Mali-400 MP4) 91.02 35.14 51.19

Vellamo produces its scores directly from frame counters, so what you're looking at is a direct representation of how fast these devices scroll through the three web tests above. The Galaxy S II is 20 - 35% faster than the Photon 4G and 45 - 100% faster than the EVO 3D. We simply have no complaints here.

Flash Performance

Thus far NVIDIA's Tegra 2 has delivered the best overall GPU accelerated Flash expierence of any SoC on the market today. With the latest update to Flash enabling NEON support on OMAP 4 both it and the Exynos 4210 now match what NVIDIA delivers here:

Until we hit 2012 and meet NVIDIA's Kal-El in smartphones (tablet release in 2011) and Qualcomm's first Krait designs, Samsung's Exynos 4210 looks like the best SoC for Android smartphones.