Performance Analysis

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 

Careful readers will note that the other interesting differentiator is thumbee support, which to my knowledge isn’t used in Android currently. NEON, however, definitely is throughout the Android OS, including places like Skia (for drawing 2D graphics, text, and images), Chrome (web browsing, both for rendering, page layout, and the all-important V8 JavaScript engine), and Surfaceflinger (Android’s window system and compositor). Each Cortex A9 has an MPE onboard.

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
  OMAP4430 OMAP4460 OMAP4470
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
SIMD Name USSE USSE USSE USSE2 USSE2 Core Core
# of SIMDs 2 2 4 4 8 8 12
MADs per SIMD 2 2 2 4 4 1 ?
Total MADs 4 4 8 16 32 8 ?
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. 

Linpack - Multi-threaded

Linpack - Single-threaded

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.

RightWare Basemark ES 2.0 V1 - Taiji

RightWare Basemark ES 2.0 V1 - Hoverjet

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. 

 

GLBenchmark 2.0 - Egypt

GLBenchmark 2.0 - PRO

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. 

 

Quake 3

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. 

 

SunSpider Javascript Benchmark 0.9

Rightware BrowserMark

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). 

WiFi Hotspot Creation, Speakerphone Volume, Call Quality Clock and Power Gating, Battery Life Analysis
Comments Locked

84 Comments

View All Comments

  • jigglywiggly - Saturday, July 30, 2011 - link

    i'd sell myself

    This phone lux nice, do want, I just wish it was on at&T
  • 7amood - Saturday, July 30, 2011 - link

    why don't I see any galaxy s2 in the comparison charts and where is the galaxy s2 review from anandtech?? :/ *waiting*
  • Brian Klug - Saturday, July 30, 2011 - link

    We actually just got an SGS2 in this week (international version) and I'm busily working on the review for that device ;)

    -Brian
  • Omega215D - Saturday, July 30, 2011 - link

    I got to spend some time with this phone and it is pretty nice but doesn't feel as solid as the Original Droid nor look as elegant. Thankfully the Droid 3 got it where it counts performance-wise. The phone crashed when activating the camera and required a battery pull but that was only once. If I didn't have my Thunderbolt (which is doing well on battery life now) the choices would be Droid Incredible 2 or Droid 3 as they are both international phone. That would change if Verizon decides to get more WP7 phones.

    I liked the review. It's very detailed and unbiased, unlike the sorry excuse for a review from PhoneArena which shows it's clear Apple bias.
  • Johnmcl7 - Saturday, July 30, 2011 - link

    I'm extremely disappointed there's not even one phone of this class and type for sale here, there's rumours of an HTC Doubleshot with a keyboard but still no sign of it. I've been trying the software keyboard on a Tab for a while but I can't stand it, I much prefer the N900's physical keyboard which leaves me stuck for the moment for an upgrade.

    John
  • Brian Klug - Sunday, July 31, 2011 - link

    I guess you could always spring for the Chinese version, but hopefully there's a Milestone international version equivalent coming soon.

    -Brian
  • piroroadkill - Saturday, July 30, 2011 - link

    Aw man, even my Desire HD has 768, and it actually gets put to use.
    Why cheap out, Motorola?

    That said, as much as this looks great, I'd never recommend it due to Motorola's anti-modding community stance. Oh well.
  • Ben - Saturday, July 30, 2011 - link

    I'm wondering if "The Droid 3 has excellent ambient noise cancellation during calls, again thanks to the two extra antennas which are no doubt used for processing. I’m not sure what IP is beyond the Droid 3’s noise rejection hardware, but clearly it does a good job."

    Should read as "The Droid 3 has excellent ambient noise cancellation during calls, again thanks to the two extra microphones which are no doubt used for processing. I’m not sure what IP is behind the Droid 3’s noise rejection hardware, but clearly it does a good job."
  • Brian Klug - Saturday, July 30, 2011 - link

    Yeah I got antennas and microphones sort of confused there, thanks! Fixed now!

    -Brian
  • Bob-o - Saturday, July 30, 2011 - link

    It's awesome they included a row of numbers at the top, I hate switching when entering mixed input. But why, oh why did they not put the usual secondary symbols on the number keys??! You know, !, @, #, $, etc. That's standard!!! What were they thinking??! Groan. . .

    Also:

    > What feels neglected is how anemic the hardware keyboard auto-replace engine is.
    > Compared with the gingerbread and even Motorola multi-touch keyboards, the hardware
    > keyboard has an almost non-existant auto-replace engine for fixing misspelled words.

    This makes me question Android's software stack. Why would each device (whether physical or virtual) have to implement this functionality? This should be a filter on input, no matter what device the user is using to enter data. . . and so it should work identically no matter what keyboard is being used. Stupid.

Log in

Don't have an account? Sign up now