The HP TouchPad Review: webOS on the Big Screenby Anand Lal Shimpi on July 17, 2011 11:11 PM EST
The original successor to the Pre was supposed to be the first Tegra 2 smartphone on the market. The HP acquisition opened up bidding once again to everyone, even Intel had a seat at the table this round. Qualcomm emerged victorious, pushing out NVIDIA as well as Palm's previous favorite - TI. Snapdragon SoCs were to be used in everything from the entry level Veer and Pre 3 to the TouchPad.
While the Veer and the Pre 3 both use single core 45nm Snapdragon SoCs, the TouchPad uses Qualcomm's dual-core APQ8060. You may be more familiar with the MSM8x60 used in the HTC Sensation 4G and HTC EVO 3D, the APQ8060 is a close relative that simply lacks any integrated modem. For a WiFi only TouchPad, the APQ8060 makes sense.
On the CPU side the APQ8060 has two 45nm Scorpion cores that can run at up to 1.5GHz. In the WiFi TouchPad, HP's implementation limits max frequency to 1.2GHz (1188MHz to be exact). AT&T has already announced a GSM TouchPad 4G which uses a 1.5GHz APQ8060. There shouldn't be any difference between these two models, potentially some better chips from the yield curve but otherwise the clock speed differences are all controlled in software.
|ARM11||ARM Cortex A8||ARM Cortex A9||Qualcomm Scorpion|
|Pipeline Depth||8 stages||13 stages||9 stages||13 stages|
|Out of Order Execution||N||N||Y||Partial|
|FPU||Optional VFPv2 (not-pipelined)||VFPv3 (not-pipelined)||Optional VFPv3-D16 (pipelined)||VFPv3 (pipelined)|
|NEON||N/A||Y (64-bit wide)||Optional MPE (64-bit wide)||Y (128-bit wide)|
|Typical Clock Speeds||412MHz||600MHz/1GHz||1GHz||1GHz+|
Architecturally the Scorpion core looks a lot like a better designed ARM Cortex A8. It's still a dual-issue, in-order architecture (with limited support for instruction reordering). Where the Scorpion core really improves on the A8 is that it has a fully pipelined FPU as well as a 128-bit wide NEON pipeline. The 8660 has a rather meager 512KB L2 cache shared between both cores. Running integer code the Scorpion core typically performs a lot like a Cortex A8 at the same frequency, but allegedly at lower power consumption. Thanks to its custom design and layout, Qualcomm's Scorpion core can easily run between 1.2 - 1.5GHz on the same process and with similar power consumption as 1GHz Cortex A8s.
The 8x60 series simply takes two of these Scorpion cores and puts them on the same die.
Qualcomm prides itself on having an asymmetrically clocked multicore architecture with the 8660 series. This means that each core can operate at its own independent frequency (e.g. CPU0 could run at 1188MHz while CPU1 is running at 384MHz). The verdict is still out on asymmetrically clocked processor cores as being a net win in mobile devices. At least on the desktop, Intel proved that you're better off running all cores at the same frequency and just power gating those that are idle. It's very rare that you need one core running at 50% for a prolonged period of time, usually you want your cores running at max speed so they can finish whatever tasks are at hand before returning to a deep sleep state.
To validate my theory (well really Intel, and now AMD's theory) I took a look at what frequencies the the first CPU core spent its time at during a mixture of idle, light and heavy usage. Thankfully webOS is a truly open Linux platform and with a little effort you can SSH into the TouchPad and gain access to a lot of very helpful information.
The data above shows you the operating frequencies of CPU0 and the time spent at each frequency. Let me reorganize the data to help make my case a little better:
|HP TouchPad Operating Frequencies|
|192MHz||384MHz - 1134MHz||1188MHz|
|Time Spent at Frequency||79.7%||5.3%||15.0%|
The majority of the time CPU0 was at its lowest operating frequency: 192MHz. This makes sense since the tablet was sitting around doing nothing for a lot of the time, not to mention that when reading emails or web pages the CPU can throttle down completely until you scroll. The second CPU core seemed to behave similarly, however it actually spent a lot of time being shut off completely from what I can tell based on the counters in webOS.
This seems to tell me that, at least based on my usage of the TouchPad, I'm not sure how much benefit there is to having multiple power/frequency planes in the AQP8660. It seems like you would get the same benefit out of having one power/frequency plane and just power gating any idle cores.
The APQ8060 features an Adreno 220 GPU, the fastest Qualcomm has to offer today. While 3D gaming is still in its infancy on all mobile devices, it's good to see that HP hasn't at least sacrificed 3D performance in building the TouchPad. Note that the Adreno 220 in the TouchPad is still lags behind the PowerVR SGX543MP2 in the iPad 2, but this generation no one spent die area like Apple did on the A5. Note that Apple's aggressive move with the A5 this year has ensured that future SoCs from NVIDIA, Qualcomm and TI will likely be much larger than they have been in the past.
The entire SoC has a dual-channel LPDDR2-533 interface to main memory, giving it the memory bandwidth necessary to drive the TouchPad's 1024 x 768 display resolution.
From a raw performance standpoint, the APQ8060 is among the fastest on the market today. At 1.2GHz there's not enough of a clock speed advantage for it to be faster than NVIDIA's Tegra 2, but the chip comes close. At 1.5GHz, at least based on what we saw with the HTC Flyer, Qualcomm's Snapdragon is very competitive with the Tegra 2's 1GHz Cortex A9s. Why HP opted for a 1.2GHz configuration in the WiFi TouchPad and a 1.5GHz speed in the AT&T version isn't clear to me.
Unfortunately despite having enough CPU power to run Android well, there are definite performance issues in webOS. Let's start with the first issue - application launch time. The table below is pretty simple to understand, I timed how long it took to boot the four major tablet platforms as well as how long it took to launch various, commonly used apps:
|Application Launch Test|
|Apple iPad 2||HP TouchPad||RIM PlayBook||Samsung Galaxy Tab 10.1|
|Boot Time||22s||1m 17s||1m 17s||31s|
Both the TouchPad and the PlayBook take entirely too long to boot. RIM told me the PlayBook's long boot times are due to the fact that the entire OS is validated with a cryptographic hash to ensure a secure boot environment at startup. It's unclear to me what the excuse is for webOS' lengthy boot time. Thankfully, as long as you keep your tablet charged you shouldn't have to do much more than wake it from sleep. Unfortunately application launch time isn't much better.
In general, apps on the TouchPad take three times as long to start up as apps running on the Galaxy Tab 10.1. This isn't a CPU issue (the Cortex A9 isn't 3x faster than Qualcomm's Scorpion core), I'm guessing this is a webOS tuning issue. The slow app launch time even applies to a running app spawning additional cards. Replying to an email spawns a new card which itself takes a 3 seconds to appear. Things like this should be instantaneous, any lag here is going to make a platform feel slow. HP should know this.
The application launch time is livable however, it's something you can get used to and hope that HP will improve over time. There are two bigger issues with the TouchPad's performance that are harder to deal with.
The first is UI frame rate. At times the TouchPad's UI seems to run at a reasonably high frame rate, I'd say somewhere around 30 fps. However all too often that UI thread drops well below 30 fps. I've seen this happen on Honeycomb but not nearly as consistently as it does on the TouchPad. All tablets I've tested have a higher framerate UI than the TouchPad. What's most frustrating is that the BlackBerry PlayBook OS, a clear copy of a lot of what I love about webOS, executes the UI faster than HP does on the TouchPad.
A low UI frame rate isn't as acceptable in this post-iOS world as it once was, but once again it's something you can get used to and pray for the best down the road. The ultimate issue with the TouchPad is its multitasking performance.
With a few benign apps open, the TouchPad multitasking experience is fine. You get to enjoy the quick app switching of webOS and all is good in the world. However open up and start really using a couple of apps that each are active consumers of CPU and I/O and the TouchPad can slow to a crawl. The best way I can describe it is like using a netbook that's constantly swapping to a very slow hard drive. The UI will periodically stop responding to taps on the screen only to either queue them up and execute a bunch of actions after a few seconds or just fail to recognize them entirely. It's beyond frustrating because the TouchPad is the first tablet that I actually can multitask on yet the multitasking experience is a performance nightmare. I fully believe this is a webOS linux optimization issue and not an insurmountable hardware limitation. Whether or not HP will correct it quickly is another thing entirely.
Potentially hand in hand with the performance issues are sheer bugs in webOS 3.0 itself. Random reboots are prevalent though not incredibly frequent. I already mentioned audio dropping out during calls and there's a screenshot above of an unpopulated notification window. The TouchPad is in dire need of software updates. I don't mind that HP released it in this state since it seems that nearly all of its competitors behave similarly and I can simply avoid recommending buying it until the issues are fixed. However, I will mind if the TouchPad isn't updated to address these problems in a timely manner. Competition is good, but these competitors have to behave like winners if they want to stick around.