Motorola Droid 3 Review - Third Time's a Charmby Brian Klug on July 30, 2011 12:01 AM EST
The next stop on our trip through the Droid 3 is of course its SoC, which is a TI OMAP 4430. This is our first formal encounter with OMAP4430 in a real, live shipping phone. Well, that’s not entirely true - we have an LG Optimus 3D in the queue as well which we’ll be talking about later.
The OMAP 4430 is based on two ARM Cortex A9s, each running at up to 1.0 GHz and with 1 MB of shared L2 cache. Unlike Tegra 2, however, OMAP 4 includes the ARM Media Processing Engine (MPE) instead of just the default A9 FPU, and thus allows OMAP 4 to execute NEON (SIMD) in addition to just normal VFP and VFPv3 instructions. It’s easiest to illustrate the difference simply by showing what looking at /proc/cpuinfo yields on each SoC:
OMAP 4: Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3
Exynos: Features : swp half thumb fastmult vfp edsp neon vfpv3
Tegra 2: Features : swp half thumb fastmult vfp edsp vfpv3 vfpv3d16
MSM8260: Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3
OMAP 3: Features : swp half thumb fastmult vfp edsp neon vfpv3
There’s also two Cortex-M3s inside OMAP4430, which do double duty for for OMAP4’s Imaging SubSystem (ISS). In OMAP4, that ISS comprises image signal processing (ISP) functions such as autofocus, exposure, white balance, and acting as a front end interface to any and all cameras, and secondly still image processing (SIMCOP) which includes functions such as actually coding the image out to JPEG, correction for lens distortion, and any noise filtering from running the sensor at a high ISO. One of the M3s handles SIMCOP, the other can divide itself between managing the realtime OS running both, the ISP functions for camera, or do some duty managing the display subsystem. Those M3s are also clock gated in sleep modes.
The next important part of the equation is OMAP4430’s GPU, which is a PowerVR SGX 540. What sets the SGX 540 in OMAP4430 apart from the other SGX 540’s we’ve seen to date (such as the one in Samsung’s Hummingbird S5PC110 SoC) is that it runs at a higher clock of 304 MHz compared to Hummingbird’s ~200 MHz. Back when OMAP 4470 was announced, I made this table:
|TI OMAP 4xxx SoC GPU Comparison|
|GPU Used||PowerVR SGX540||PowerVR SGX540||PowerVR SGX544|
|Clock||304 MHz||384 MHz||384 MHz|
Alongside it I re-published the table that Anand put together back for our Tegra 2 piece with a more concise breakdown. We can see that though the GPU is still an SGX 540, increasing those clocks makes an obvious positive difference in performance.
|Mobile SoC GPU Comparison|
|PowerVR SGX 530||PowerVR SGX 535||PowerVR SGX 540||PowerVR SGX 543/544||PowerVR SGX 543/544MP2||GeForce ULP||Kal-El GeForce|
|# of SIMDs||2||2||4||4||8||8||12|
|MADs per SIMD||2||2||2||4||4||1||?|
|GFLOPS @ 200MHz||1.6 GFLOPS||1.6 GFLOPS||3.2 GFLOPS||6.4 GFLOPS||12.8 GFLOPS||3.2 GFLOPS||?|
|GFLOPS @ 300MHz||2.4 GFLOPS||2.4 GFLOPS||4.8 GFLOPS||9.6 GFLOPS||19.2 GFLOPS||4.8 GFLOPS||?|
Hummingbird's SGX 540 thus gets around 3.2 GFLOPS, whereas the higher clocked SGX 540 in OMAP4430 is appropriately around 4.8 GFLOPS.
First up is Linpack which now includes a multithreaded test alongside its single threaded test. There was originally some debate internally about whether this version of linpack from the Android market was using NEON or just VFP, the results now speak for themselves, it’s entirely just VFP.
Next are RightWare’s Basemark ES 2.0 which is the latest version of the ever popular 3DMark Mobile ES 2.0, itself an industry standard. The test has two main tests and then a variety of subtests, and Adreno 220 maintains a lead here over the faster SGX 540, but we can see already how much that extra ~100 MHz advantage helps the Droid 3 over the Droid Charge’s Hummingbird (A8 + SGX 540 at 200 MHz). We run at the same VGA resolution here so the results are comparable despite the different display sizes.
The ever popular GLBenchmark 2.0 is also an industry standard and a regular fixation in our smartphone benchmarking section, and the Droid 3 results mirror what we saw both way back when the device popped up online in the results browser and our initial testing two weeks ago with the phone. GLBenchmark runs in full screen mode, so keep in mind the qHD versus WVGA discrepancy when comparing results. We can easily again see that the higher clocked OMAP4430 SGX 540 changes things up nicely.
Next up is what started it all for us, the Quake 3 Android port “kwakk3” which is starting to show its age and is basically at the FPS cap on newer devices with newer GPUs. We’ve kept it around for the Droid 3 however just to illustrate how quickly things like this have gone from being almost unplayable a year ago to fluid on modern hardware. Anand keeps saying hyper Moore’s law, and this is just one more data point you can point at as supporting that hypothesis.
Finally are the two web benchmarking suites, SunSpider 0.9 and RightWare’s Browsermark. We’re running 0.9.1 and will migrate to that soon, but for now the results from 0.9 are still comparable. Remember that V8 does have some NEON codepaths, so we do see OMAP4 pull ahead of Tegra 2 just by a sliver on both tests.
We’re going to start reporting Qualcomm’s new Vellamo benchmark results after we further understand all of its tests and how it calculates results, but we’re running it silently on devices. Until then however, browser scrolling performance (one of the things it does purport to gauge) is still probably the largest and most perceptible performance issue.
I’ve put together a short comparison video showing the Droid 3 alongside a Droid X. I don’t have a Droid 2 on hand anymore, but the X is a decent facsimile both because it has the same resolution as the Droid 2, is running Android 2.3.3 (which the Droid 2 has yet to get but will shortly) and still is based on a 1 GHz OMAP3 (3630 vs 3620).