Multiple paths to x86 compatibility
Bay Trail's x86 pedigree may be at odds with the predominant ISA for mobile devices, but the situation isn't as dire as one might expect. Intel has been working with Google on Atom-specific Android tweaks since 2011. The CPU giant has contributed code to the Android kernel and libraries, and it's validated and optimized device drivers to work with x86 hardware. At the OS level, at least, the Atom's x86 roots shouldn't be an issue.
The situation with applications is a little different. Most Android apps run in Dalvik, a virtual machine that's isolated from the OS. The code is typically written in Java, and it's compiled only when the program is launched. Dalvik can generate x86 instructions, so there shouldn't be any problems with these kinds of apps.
Instead of relying Dalvik's just-in-time approach, some Android apps use pre-compiled binaries generated by the Native Developer Kit (NDK). The NDK supports other languages, such as C and C++, and it can target different ISAs, including ARM and x86. As I understand it, generating an x86 binary from an NDK project involves little more than clicking a checkbox. I'm not a programmer, though; the process may be more complicated than that. In any case, Intel has a full suite of resources to help developers build native x86 apps using the NDK.
If apps lack x86 binaries or are otherwise tied to ARM-specific code, binary translation is used to transform ARM instructions into x86. This software-based emulation layer should be invisible to end users, but there's some unavoidable overhead involved. Naturally, Intel and ARM disagree on the impact of that overhead. Intel claims the effect is minimal in most applications, while ARM warns of slower application load times, increased stuttering in games, lower overall performance, and reduced power efficiency.
The argument may end up being moot, because Google recently introduced a new Android runtime environment, dubbed ART, that will replace the Dalvik VM in future versions of the OS. (ART is available in an experimental capacity in the current KitKat release.) This new environment ditches Dalvik's just-in-time approach for pre-compiled code that's supposed to improve performance. Given Intel's previous contributions to Android, ART should be well-optimized for x86 CPUs.
Right now, gauging the impact of binary translation is somewhat difficult because Android apps generally don't advertise their x86 credentials. APK files can be searched for telltale binaries, but that's a little involved for a quick-take piece like this one. Measuring application performance in Android is tricky enough without having to deal with different ISAs.
For the Memo Pad ME176C, we elected to combine a handful of common benchmarks with load-time tests and real-world usage impressions. That should provide a sense of how the tablet behaves even if it doesn't answer some of the deeper questions about how well x86 processors deal with ARM-optimized code.
Let's start with the benchmarks, which compare the Memo Pad to a selection of mobile devices running Android and Windows. The graphs have been colored by operating system, with our subject set apart from the rest of the Android pack.
Note that the Memo Pad nearly matches the Transformer T100, which is based on a similar SoC running Windows. At least in these tests, there doesn't appear to be too much of a penalty associated with Android.
Next, we'll look at graphics performance in 3DMark's "Ice Storm" test. To compensate for devices with different resolutions, this benchmark renders scenes offscreen at 1280x720 before scaling the output for the target display.
Bay Trail's graphics horsepower appears largely intact on Android. Although the T100's advantage is wider in this test, the Memo Pad isn't too far behind. And it's still ahead of the current Nexus 7.
For this next batch of tests, we recorded application load times with a high-speed camera capturing 240 frames per second. We used popular apps and tried to avoid ones that grab a lot of Internet content on startup.
Interesting. The Memo Pad loads our selection of games slower than both Nexus tablets. The differences are especially apparent in Clash of Clans, where the Memo Pad trails even the old Nexus 7 by more than five seconds.
Don't act like you weren't curious about Kim Kardashian Hollywood load times.
These other apps load much faster overall, and the Memo Pad leads the competition in three of four tests. The differences only amount to about a second at most, though. They're usually much slimmer than that, especially between the Memo Pad and the Snapdragon-powered Nexus 7.
For what it's worth, we observed more run-to-run variance in Skype and YouTube load times than we did in the other tests, probably because those apps pull content off the 'net.