It's Not Qualcomm's Fault: Dispelling TouchPad Mythsby Anand Lal Shimpi & Brian Klug on August 19, 2011 6:40 PM EST
It's Really Not Qualcomm's Fault
We've established that webOS has been and could be ported to different SoCs from different vendors – there's nothing tying it irrevocably to Qualcomm. The next is a discussion of the performance delta that existed because of differing hardware between tablet vendors. The Next Web wrote a story today claiming that webOS could run over 2x as fast on an iPad 2 than on an HP TouchPad. The claim gets even more interesting:
"With a focus on web technologies, webOS could be deployed in the iPad’s Mobile Safari browser as a web-app; this produced similar results, with it running many times faster in the browser than it did on the TouchPad."
Anyhow, the TouchPad uses Qualcomm's Snapdragon S3 APQ8060. It has two Scorpion cores running at 1.2GHz, a shared 512KB L2 cache and a dual-channel memory controller. In the TouchPad there's only a single 1GB DRAM on board. It's unclear if there are two DRAM die on that package or not, so whether or not the SoC is actually given full access to 2 x 32-bit LPDDR2 devices is unclear. The CPU cores are in-order and feature a pipelined FPU and NEON unit. On the GPU side the APQ8060 uses Qualcomm's Adreno 220.
If this hardware sounds familiar to you it's because it's the modem-less version of the MSM8x60, the same SoC used in the HTC Sensation and the EVO 3D.
The iPad 2 uses Apple's A5 SoC manufactured by Samsung. It has two ARM Cortex A9 cores, a 1MB shared L2 cache and a dual-channel memory controller. The A5 in the iPad 2 comes in a PoP (Package-on-Package) configuration with the DRAM stacked on the SoC die. Although it's physically unclear whether both channels are populated, the Samsung DRAM part number on the A5 indicates a PoP stack with two DRAM devices. In other words, the A5 is running in dual-channel mode. The CPU cores are out-of-order, feature a pipelined FPU and NEON unit. Imagination Technologies supplies the PowerVR SGX 543MP2 GPU in the A5.
From a CPU standpoint, Apple has a performance advantage at the same clock speed, but Qualcomm runs its cores at a higher clock. NVIDIA claimed that the move to an out-of-order architecture in the A9 was good for a 20% increase in IPC. Qualcomm has a 20% clock speed advantage. In most situations I think it's safe to say that the A5 and the APQ8060 have equally performing CPUs.
Apple does potentially have a memory bandwidth advantage as it's unclear the memory configuration of the TouchPad. I did wonder if this might be a reason why UI transitions were so slow on the TouchPad. In order to deliver a smooth UI you need good GPU acceleration built into your OS and you need sufficient memory bandwidth for the screen. At 1024 x 768 you need 180MB/s of memory bandwidth to render a UI at 60 fps. That's assuming no overdraw or multi-pass blending effects. With only a single LPDDR2-667 channel there's only 2.7GB/s of theoretical memory bandwidth. In practice you generally get 80% of peak theoretical memory bandwidth, that takes us down to 2.1GB/s. If we assume webOS was really inefficient in drawing its UI and needed 7x the bandwidth per frame, that still leaves us with 840MB/s of bandwidth available for the rest of the SoC. Assuming the CPU cores aren't doing anything, that's enough to provide a smooth, 60 fps UI. Start taxing those CPU cores and their bandwidth demands could go up to a few hundred MB/s, perhaps even more. Let's not even mention what happens if the GPU starts cranking away.
Now if we assume that webOS is super efficient, then even a single LPDDR2 channel is more than enough to deliver a high speed UI. In my calculations above I assumed a 7x increase in memory bandwidth requirements per frame. If we knock that down to 4x we nearly double the amount of memory bandwidth available to the rest of the SoC.
My point here is that the Qualcomm hardware is technically fast enough to deliver a smooth UI in webOS. The problem wasn't the hardware.
As far as CPU performance goes, here's a graph comparing the Tegra 2 based Galaxy Tab 10.1 to the A5 based iPad 2 in Sunspider 0.9:
Granted this test measures the entire hardware and software stack (browser, OS) and does show a ~2x performance delta between the TouchPad and iPad 2, but it shows that it's physically possible to build a tablet that has performance similar to the iPad 2. Furthermore, we've already shown that NVIDIA's Tegra 2 performs similarly to Qualcomm's dual-core SoC in other situations. Completing the circle it's safe to assume that at least from a CPU standpoint, Qualcomm's APQ8060 wasn't the factor holding back the TouchPad, it was software.
The only area where the iPad 2 could conceivably be 2x the speed of the TouchPad due to SoC hardware alone is in GPU performance. However the claims above say the performance advantage was demonstrated in a browser window and not in a cross-platform OpenGL ES 2.0 game.
These days Qualcomm's high end dual-core SoC is comparable to TI's and NVIDIA's. Each platform has its advantages but I find it very difficult to believe that Qualcomm was somehow responsible for the poor performance of the TouchPad.