Tuesday, 13 October 2015

Samsung vs. TSMC: Comparing the battery life of two Apple A9s

Apple
Many consumer electronics companies, Apple included, use parts sourced from multiple manufacturers to meet demand for their products. You can make and sell more iPhones if you're buying screens from two companies, and that also insulates you from risk if there's something wrong with one company's components. Parts sourced from multiple manufacturers will inevitably behave a little differently, but, as long as the differences are small, people aren't really going to notice or care.

This is the kind of manufacturing nitty-gritty that doesn't usually make headlines, but, in the case of the iPhone 6S, people have suddenly become concerned. Apple is sourcing an important system component, the Apple A9 system-on-a-chip, from both Samsung and Taiwan Semiconductor (TSMC). This is something that it normally doesn't do, since manufacturing processes from different chipmakers can have different performance and power consumption even when the chip's design is identical.
And that's just what some iPhone 6S and 6S Plus buyers have run into. Using an app that has since been pulled from the App Store, some users were able to determine which chip individual iPhones were using and found that the phones with Samsung chips had significantly lower battery life than the phones with TSMC chips in certain tests. The findings got enough attention that Apple offered a rare comment on the situation, claiming that the test being used wasn't representative of actual use and that in "real-world usage" the difference between iPhone models with any combination of components was no more than 2 to 3 percent.
We just happen to have two iPhone 6S models here, one with a Samsung chip and one with a TSMC chip, and we've been running a variety of battery life tests for the last few days to see if we could find any differences. Our results lined up pretty much exactly with the statement Apple provided, but we've laid out all of the details below.

The tests and results

As mentioned, we're using two brand-new iPhone 6S models locked to AT&T but with the SIM cards removed (we didn't have two active AT&T SIMs, so this was the easiest way to make sure both phones' cellular hardware was doing the same thing). The screen brightness in each handset was set to exactly 200 nits using a Spyder4Elite colorimeter, and the screen was left on at this brightness for the duration of all of our tests.
Now for the tests themselves. The battery life test that started this story off is the one included in Geekbench 3, which according to Primate Labs' John Poole does include some idle time but is generally very CPU intensive. According to the Xcode Activity Monitor instrument, the Geekbench 3 battery life test generally keeps the CPU pegged between 55 and 60 percent load for the entire time it runs, with occasional dips below 55 percent and peaks above 60 percent.
Update: To clarify exactly what Xcode's Activity Monitor is telling us, remember that every logical CPU core is tracked individually, so for a dual-core CPU like the A9 "full utilization" would  so in the dual-core A9 full load is 200 percent, 100 for each core. The Geekbench test is putting about 30 percent load on each core for a total of 60 percent. For comparison, the relatively light but modern iOS game Shooty Skies oscillates between 30 and 70 percent depending on how many objects are being drawn on screen.
Our WebGL battery life test similarly keeps the CPU (and the GPU) working continuously, but at a slightly lower level of load. CPU load for this test typically hovers between 45 and 50 percent, and the GPU Driver instrument says the GPU utilization is between 25 and 30 percent. We also ran the GFXBench GL 3.1 battery life test for good measure, which loops the "T-Rex" test 30 times while measuring performance and power drain. These two tests approximate the load that a 3D game might put on the A9.
Finally, most smartphone usage leaves the CPU and GPU idle for extended periods of time, which is where our Web browsing test comes in. It continuously loops some pages cached on one of our servers, loading one page every 15 seconds until the phone dies.
Each test was run at least twice to reduce the likelihood of outliers, and the results from both runs were averaged out to reach the numbers you see below (the Geekbench test was run three times).

No comments:

Post a Comment