Javascript Performance

Although smartphones are clearly headed for a life beyond simple messaging, web browsing and phone duties, we are still lacking the tools to measure performance in areas other than a component of web page rendering. Measuring javascript performance is one component of the entire web page rendering process but it's the most mature in terms of something we can benchmark.

Sunspider is quite possibly the most well known of these javascript tests:

SunSpider Javascript Benchmark 0.9.1 - Stock Browser

We expected Snapdragon S4 to do very well here based on our preview numbers and it did not disappoint. Although it's not quite as fast as Intel's Medfield, it's clearly the fastest smartphone SoC in this test otherwise. It's worth noting that HTC is able to deliver performance that's within 5% of Qualcomm's Snapdragon S4 MDP, a significant improvement over where things were last year.

The Sunspider test makes good use of 1 - 2 cores but there are times when it'll stress all four on a Tegra 3. For the most part however, NVIDIA's extra cores go unused in this benchmark. Krait and HTC's ICS browser definitely offer a significant advantage over the performance of the ICS launch vehicle, Samsung's Galaxy Nexus. This is honestly the hardware that Google should have used as the basis for its Nexus platform, it's too bad that it wasn't available at the end of last year.

BrowserMark is another js benchmark in our suite:

BrowserMark

Here the international and AT&T One Xes trade spots as Tegra 3's extra cores are able to give it the slight edge in performance. Once again we're talking about the fastest smartphones in our test suite.

Low Level FP Performance

Linpack isn't a great indication of smartphone performance, but it is a good test of the floating point capabilities of the CPUs in these SoCs. ARM has steadily been improving FP performance for the past few generations but we're going to see a big jump to Krait/A15. As most client smartphone workloads are integer based and those that are FP heavy end up relying on the GPU, an advantage here doesn't tell us much today (particularly because Linpack isn't running native code but rather atop Dalvik) other than how speedy the FPUs are:

Linpack - Single-threaded

Improved single threaded FP and memory performance is something we get with Krait, and it's demonstrated quite well by the AT&T One X. While you're unlikely to see this magnitude of an advantage in most real world smartphone workloads, this is an architectural advantage of Qualcomm's Krait that's worth mentioning. However these days most FP intensive workloads on smartphones are handled by the GPU, making this performance advantage mostly academic at this point.

Linpack, like many scientific workloads, scales up to multiple cores quite nicely. If we spawn as many threads as there are logical cores (2 for Intel and Qualcomm, but 4 for NVIDIA's Tegra 3) we can see how these SoCs fare in a multithreaded world:

Linpack - Multi-threaded

BaseMark OS

Rightware's BaseMark OS is a general purpose benchmark designed to better simulate overall Android performance. It includes a heavily threaded benchmark, file IO tests, and compression/decompression tasks that all contribute to its overall score. We only have results from the HTC One S/AT&T One X (Snapdragon S4), One X (Tegra 3), Galaxy Nexus (OMAP 4) and the Lava phone (Medfield) here:

BaseMark OS Performance

As expected, the AT&T One X does very well in this general purpose, OS-level benchmark. The device significantly outperforms Samsung's Galaxy Nexus, which isn't a surprise given how dated the hardware was at the time of launch. Again the magnitude of advantage is likely exaggerated by this benchmark, but there's no changing the fact that HTC makes the fastest Android smartphones on the planet for now.

Note that the performance difference between the two One X models is likely exaggerated by BaseMark OS as well. In our regular use we found the two to be fairly similar in performance, with the slight edge going to the AT&T One X but not by a huge margin. You'd be hard pressed to tell these two apart.

Vellamo

Vellamo is a Qualcomm developed benchmark that focuses primarily on browser performance, both in rendering and UI speed. The results are heavily influenced by the browser used on the device being tested. As a whole Vellamo isn't always indicative of whether or not you're going to get a smooth browsing experience, but it's another datapoint that captures more than just javascript performance. The Qualcomm-developed nature of the benchmark is always cause for concern, but even if you exclude the Snapdragon results the benchmark can be useful:

Vellamo Overall Score

Qualcomm's SoCs have always done very well in this Qualcomm-built benchmark, but the results still echo what we've seen in practice. The AT&T One X definitely feels like the fastest Android phone we've used, especially compared to much of what was available last year. The gap between the international and AT&T One X versions is, once again, debatable. The Qualcomm performance advantage is at times perceivable, but I wouldn't consider it to be significant at all.

Flash Rendering Performance

These days nearly all high-end smartphones (I refuse to call them superphones) can render Flash smoothly. The HTC One X is no exception. We're basically at vsync here and will have to move to either more stressful flash content to test or just accept that flash is already performant enough.

CraftyMindFlash Rendering Performance

GPU Performance - GLBenchmark 2.1

As we wait for actual 3D gaming benchmarks to make their way into Android (and hopefully crossplatform) games, we must rely on synthetic tests designed to simulate 3D game performance as best as possible. We start with GLBenchmark, one of the better Android GPU tests on the market today. There are two benchmarks, Egypt and Pro, and each is run in two modes: native screen resolution and offscreen (vsync disabled) at 720p. The latter is more useful for apples to apples comparisons as everything is rendering the same number of pixels, whereas performance in the onscreen tests is determined by the screen resolution of the device along with the performance of its GPU.

GLBenchmark 2.1 - Egypt

Part of the deal in getting Krait to market as quickly as possible required that Qualcomm pair the CPU with an older GPU, in this case the Adreno 225 instead of the newer Adreno 3xx offerings due out later this year. As a result, the AT&T One X can take a back seat to the international One X in GPU performance. When not limited by v-sync, the Tegra 3 based international One X is about 12% faster than the Qualcomm S4 based AT&T One X. For most gaming however, you'll be hard pressed to notice a performance difference.

GLBenchmark 2.1 - Egypt - Offscreen (720p)

GLBenchmark 2.1 - Pro

The Pro offscreen results actually flip flop a bit with the AT&T One X leading the international version. Once again, limited by v-sync (onscreen results) the two are basically identical performers.

GLBenchmark 2.1 - Pro - Offscreen (720p)

Basemark ES 2.0 V1

Rightware's Basemark ES 2.0 V1 is an aging GPU test that tends to favor Qualcomm's Adreno GPUs above almost all others:

RightWare Basemark ES 2.0 V1 - Taiji

RightWare Basemark ES 2.0 V1 - Hoverjet

We're not surprised to see the AT&T One X do so well here as it appears Qualcomm has done quite a bit of optimization work for this particular benchmark. I wouldn't put too much faith in these numbers other than to show you an example of just what can happen with a good amount of optimization on behalf of a hardware vendor.

Battery Life Camera - Stills and Video
Comments Locked

137 Comments

View All Comments

  • frostyfiredude - Tuesday, May 1, 2012 - link

    If there is one difference that really stood out between the International and ATT versions of the One X, it's the battery life. For all the talking nVidia did about Tegra3 allowing world beating battery life, it really got served by the S4 in that regard.

    In the fall I really hope HTC makes a One X like phone with WP8 on it, if I'm not feeling cheap I think I'll buy one.
  • ImSpartacus - Tuesday, May 1, 2012 - link

    Yeah, that's really the most important thing for me. I'm glad Anandtech puts it earlier in the reviews.
  • Chloiber - Wednesday, May 2, 2012 - link

    It's true. I'm currently owning a One X (international). I'm okay with the battery life (it's better than my previously HTC Desire). But as Brian has mentioned, software updates are on the way. The second update has been released yesterday. The updates are coming out nearly weekly! The improvements are huge in many aspects. The last update (released yesterday in Europe for unbranded devices) finally enabled 2D GPU Acceleration. That's right: 2D GPU Acceleration wasn't working properly before. It couldn't even be forced in the dev settings.

    I really hope they can improve the device even more, and I'm pretty confident they will. To be perfectly honest, I would have preferred the S4 version of the One X. Nvidia still seems to have some problems with the T3 - again, I'm confident that the device's performance and battery life will improve massively over the next couple of months, but S4 seems to be the safer bet.
  • pikahatonjon - Tuesday, May 1, 2012 - link

    i know its offtopic, however, how come it seems like the Droid Razr performs like 40% better than the galaxy nexus 58.7 fps vs 33.1 when they both have the same SoC? was there some error in the test
  • frostyfiredude - Tuesday, May 1, 2012 - link

    Higher resolution display on the Nexus would be the cause of most if not all of the difference. 960x540 for the RAZR v 1280x720 for the Nexus
  • PyroHoltz - Wednesday, May 2, 2012 - link

    I really wish Anandtech would normalize the graphics benchmarks to FPS/megapixel of screen resolution.

    Or, implement something that will take the fluctuations in native resolution, out of the equation a bit.
  • Goty - Wednesday, May 2, 2012 - link

    Just look at the "offscreen" numbers, those are all rendered at the same resolution regardless of handset.
  • ChronoReverse - Wednesday, May 2, 2012 - link

    The Offscreen Test is a seriously flawed one. It's clear that the act of rendering to the screen has a different penalty for different GPU's.

    Since you have to render in actual 3D applications, this means that the Offscreen test is worse than useless since it's _misleading_.

    You can't even say it's a VSync issue because in this very article, you have the GLBenchmark test at 720P where the results for both the Global and ATT OneX phones are both significantly below 59-60FPS.
  • Goty - Wednesday, May 2, 2012 - link

    Writing of the framebuffer to the screen is the least part of what each GPU has to do and certainly has less of an impact that differing resolutions between screens; I highly doubt that writing out the framebuffer is even that different between different architectures.
  • metafor - Thursday, May 3, 2012 - link

    It's very much in line with the V-Sync results we've seen with the MDP and other devices that allow you to turn V-Sync off.

    The tests with the Qualcomm MDP show exactly this kind of difference with V-Sync turned on and off, even if the resulting average doesn't come close to 60fps.

    Why? Because framerate can vary by a lot within the running of the benchmark. Simple sequences can burst up to the 100's of frames per second. That will throw off the average by a lot.

Log in

Don't have an account? Sign up now