Huawei is clearly focused on improving the performance of its flagship phones. The P9 and its Kirin 955 SoC performed well in our tests and was smooth and quick during everyday use. For the P10 and P10 Plus, Huawei has tweaked the underlying hardware and software to make them perform even better for longer.
Huawei’s EMUI software includes several features to keep the system feeling more responsive. Using the F2FS filesystem for the /data partition improves storage performance, and Huawei’s new “Machine Learning algorithm” prioritizes system resources (CPU, memory, and storage) to improve responsiveness and performance for the foreground app. Huawei is also using compression to increase the amount of data held in working memory.
|Huawei P10 Series|
|Huawei P10 Price:$288 (Buy Now)||Huawei P10 Plus Price:$311 (Buy Now)|
|SoC||HiSilicon Kirin 960
4x Cortex-A53 @ 1.84GHz
4x Cortex-A73 @ 2.36GHz
ARM Mali-G71 MP8 @ 1037MHz
|Display||5.1-inch 1920×1080 IPS LCD||5.5-inch 2560×1440 IPS LCD|
|Dimensions||145.3 x 69.3 x 6.98 mm
|153.5 x 74.2 x 6.98 mm
|RAM||4GB||4GB / 6GB|
|NAND||32GB / 64GB / 128GB
|64GB / 128GB / 256GB
|Battery||3200 mAh (12.23 Wh)
|3750 mAh (14.33 Wh)
|Modem||HiSilicon LTE (Integrated)
2G / 3G / 4G LTE
|SIM Size||1x or 2x NanoSIM|
|Wireless||802.11a/b/g/n/ac 2×2 MU-MIMO, BT 4.2, NFC, GPS/Glonass/Galileo/BDS|
|Connectivity||USB 2.0 Type-C, 3.5mm headset|
|Launch OS||Android 7.0 with EMUI 5.1|
|Software Version Tested||Android 7.0
Inside the new phones is HiSilicon’s Kirin 960 SoC, which uses a big.LITTLE arrangement of four ARM Cortex-A73 CPUs and four Cortex-A53 CPUs. When we looked at the Kirin 960 earlier this year, we found that its A73 core showed higher integer IPC than the Kirin 950/955’s A72 core, but that floating-point IPC generally regressed. The Kirin 960 registered improvements to the memory subsystem too. Even though our lower-level testing produced mixed results, the Kirin 960, which is also used in Huawei’s Mate 9, performed well when running common workloads such as web browsing and photo editing.
In addition to the new CPU, the Kirin 960 also includes a significantly upgraded GPU. The Mali-G71MP8 includes twice as many cores as the Mali-T880MP4 GPU in Kirin 950/955. It’s also based on ARM’s new Bifrost architecture, which includes a number of improvements over the previous Midgard architecture that should help improve shader core utilization.
Huawei, like other OEMs, is currently struggling to procure some of the other internal components—notably NAND and RAM—which can impact overall system performance. Samsung, SK Hynix, and Toshiba have said that they are struggling to produce enough flash memory in the face of increased demand, especially for higher density modules, and issues with ramping up 3D NAND production. This shortage, which applies to DRAM as well, started in 2016 and will likely extend through the remainder of 2017.
With supplies short and component costs rising, Huawei confirmed that it is sourcing memory components from multiple suppliers and stated that it never committed to using any specific type of NAND. Indeed, P10 owners are claiming that some units are using eMMC instead of UFS NAND, along with both LPDDR3 and LPDDR4 RAM. Multi-sourcing is actually very common among smartphone OEMs, particularly larger ones such as Apple, Huawei, LG, and Samsung, for a number of different components, including NAND, RAM, display panels, modems/RF, and camera sensors. Apple has even sourced SoCs from different foundries. Problems can arise, however, if the OEM does not hold its suppliers to the same standards and allows parts from different vendors to vary wildly in performance, which, unfortunately, happens all too frequently.
Based on Huawei’s official statement, we have no way to know who its suppliers are, what components they are or are not using (LPDDR3/LPDDR4, eMMC/UFS), or how many phones are using the potentially slower components. It only said that component selection is random based on the current supply and that there is no way for consumers to know what they are buying before opening the box.
In this report, we’ll establish what components our particular P10 and P10 Plus review units use, and then run them through a series of tests to evaluate everyday performance and battery life. Huawei was able to extend the Mate 9’s battery life over the previous generation, so it will be interesting to see if this is true for the P10 as well.
CPU & System Performance
The P10 and P10 Plus both use the same Kirin 960 SoC from HiSilicon as Huawei’s other flagship phone, the Mate 9. We already looked at Kirin 960’s performance and power efficiency in detail, and we also reviewed the Mate 9 earlier this year, so the two P10’s we’re testing now should not provide many surprises. The only outstanding questions are what type of RAM and NAND our units have, and do the P10s still perform the same as the larger Mate 9?
To evaluate overall system performance, we turn to the PCMark Work 2.0 suite, which tests the combined effects of the CPU, GPU, RAM, and NAND storage. Because it uses standard Android API calls and runs several different real-world workloads that elicit realistic behavior from the CPU governor (unlike synthetic tests that simply run one or more CPUs at max frequency), it’s a good indicator of everyday performance.
As expected, there’s no significant performance difference between the P10, P10 Plus, and Mate 9 in any of the PCMark Work 2.0 tests. All three phones post excellent results, with the P10 outperforming the older P9 and its Kirin 955 SoC by 11% overall.
There is not much difference between Huawei’s current generation flagships and last year’s P9 and Mate 8 in the Web Browsing test. The P10 Plus holds a slim 11% lead over Xiaomi’s Mi MIX and its Snapdragon 821 SoC, which grows to a more significant 27% lead over the Galaxy S7 and Pixel XL.
The Writing test is characterized by frequent but short bursts of activity that benefit from running on the big CPU cluster. While CPU IPC and frequency are important here, so is the phone’s proclivity to migrate threads onto the big cores. Huawei’s phones perform well once again in this test, with the P10 maintaining its roughly 11% advantage over the P9. There’s significantly more variation among the other phones in the chart, with the Mi MIX landing near the bottom at only half the performance of the P10. The Pixel XL trades places with the MIX in this test, but is still outperformed by the P10 by about 40%.
The PCMark Video Editing test is not particularly strenuous, so most phones perform about the same. The Photo Editing test, which uses both the CPU and GPU for applying various photo effects, produces more interesting results. It’s the only PCMark test where Huawei’s phones do not finish on top. Instead, phones using Snapdragon 820/821 SoCs and Qualcomm’s Adreno 530 GPU perform the best when running these workloads. The P10 holds a slim 12% advantage over the P9, but the Snapdragon 821 powered Le Pro3 is 30% faster.
Obviously there is nothing wrong with storage performance for our P10s. Both the P10 and P10 Plus post excellent (and essentially identical) sequential and random throughput values. It’s also worth noting that both units are using UFS 2.0 NAND from Samsung.
The P10s easily outperform the Mate 9, especially when writing data sequentially or randomly. This particular Mate 9 is using UFS 2.0 NAND from Toshiba, which illustrates an important point: Just because a phone uses UFS 2.0 or 2.1 NAND does not mean it will perform well. Storage performance is multi-layered, starting with the operating system kernel and eventually ending at the storage controller and NAND itself. Even the underlying filesystem makes a big difference, with the P10, P10 Plus, P9, Mate 9, and OnePlus 3T all using the better performing F2FS (Flash-Friendly File System) for the /data partition instead of the default EXT4 file system.
With all of these variables in play, it’s impossible to even say that UFS NAND is always faster than eMMC NAND. For example, the Huawei P9, which uses eMMC 5.1 NAND, outperforms the newer Pixel XL and its UFS NAND in all but the sequential read test. The P9 also outperforms the Mate 9 in both writing tests. Now this does not mean a P10 with eMMC 5.1 NAND would perform the same or better than the two UFS examples we tested (it would not be able to match the sequential numbers at least), but it is important to take a step back and see the bigger picture.
|Storage Performance (AndroBench 5.0)|
|Huawei P10 Plus||516.78||558.45||182.24||183.15||53.22||93.37||82.52||137.51|
|Huawei Mate 9||429.17||480.07||74.60||100.01||38.81||66.27||10.77||16.99|
|Huawei Honor 8||169.07||198.77||83.65||102.45||30.2||46.25||17.17||26.59|
The table above shows how storage performance scales with larger IO sizes. While the values we use in our general tests above represent the most common IO sizes, other workloads, notably accessing media files like photos and video, will utilize larger IO transfers, so it’s important to see how a phone performs over a wider range of scenarios. Sequential read throughput for the P10s continues to scale as expected, maintaining their lead over the Mate 9. Sequential write performance does not scale any further and only maintains its already high values. The Honor 8, which uses eMMC 5.1 NAND like the P9, manages to outperform the Mate 9 when writing sequentially or randomly at any IO size.
Finishing positions flip in WebXPRT 2015, with the P10s out in front of the Mate 9 by 18% and the P9 by 30%. Scores in JetStream show less variation, but the P10s fall behind the Mate 9 and P9 once again by 17%.
The tests above corroborate my own subjective experience with the P10: It’s fast. Common tasks such as installing or opening apps, switching between running apps, and searching through my email inbox complete quickly. The redesigned EMUI 5.1 UI is smooth and responsive—not Pixel XL smooth, but flagship smooth.
GPU & Gaming Performance
Previous Kirin SoCs, including the Kirin 955 inside last year’s P9, used smaller GPUs with fewer cores, effectively capping peak performance well below competing flagship phones. The Kirin 960 SoC inside the P10, P10 Plus, and Mate 9 breaks this trend, however. It uses a Mali-G71MP8 GPU based on ARM’s new Bifrost architecture, and while it still processes 1 pixel/texel per clock per core and up to 12 FP32 FMAs per core like the Mali-T880MP4 Midgard GPU in the P9’s Kirin 955 SoC, it uses twice as many cores, giving it a significant advantage in both ALU and texturing throughput.
Like most flagship phones today, the P10 has no trouble hitting the 60fps V-Sync limit in the older OpenGL ES 2.0-based GFXBench T-Rex game simulation. Even the P10 Plus with its higher 2560×1440 native resolution averages close to 60fps. When running offscreen at a fixed 1080p resolution, both P10s and the Mate 9 achieve the same score (as expected), which is comparable to phones running Snapdragon 820/821 SoCs.
The GFXBench Car Chase game simulation uses a more modern rendering pipeline and the latest features, including tessellation, found in OpenGL ES 3.1 plus Android Extension Pack (AEP). Like many current games, it stresses ALU performance to deliver advanced effects.
Focusing on the offscreen results, there’s no surprises among the phones with Kirin 960. The P10 is about 2.5x faster than the P9, which is a little more than the difference in core count and GPU frequency alone can account for. I noted in the Mate 9 review that one of the biggest changes between ARM’s Midgard and Bifrost architectures is the move away from shader cores that use an SIMD ISA and rely on Instruction Level Parallelism (ILP) to shader cores with a scalar ISA that rely on Thread Level Parallelism (TLP). This change helps Bifrost improve shader core utilization, because it’s much easier to extract TLP from modern game workloads.
These architectural improvements help the P10’s Mali-G71MP8 GPU outpace the older but larger Mali-T880MP12 GPU in the Galaxy S7’s Exynos 8890 SoC, although the P10’s significant frequency advantage (1037MHz vs 650MHz for the S7) also plays a significant role. In this particular ALU-heavy workload, the Adreno 530 GPU in Qualcomm’s Snapdragon 820/821 SoC still comes out on top, however. The LeEco Le Pro3, OnePlus 3T, and Pixel XL all use a newer GPU driver, which allows them to pull ahead of the other Snapdragon 820 phones.
In the onscreen test, the Le Pro3, OnePlus 3T, and Mi MIX, come out on top by combining a Snapdragon 820/821 SoC with slightly lower resolution 1080p displays. The P10 and Mate 9 also have fewer pixels to render than the 1440p P10 Plus, giving them a 51% advantage here.
3DMark Sling Shot Extreme uses either OpenGL ES 3.1 on Android or Metal on iOS and stresses the GPU and memory subsystems by rendering offscreen at 1440p (instead of 1080p like our other tests).
There’s only a 17% performance spread across current generation flagship phones, from the LeEco Le Pro3 to the OnePlus 3T, based on the overall score. ARM’s new Bifrost architecture sees an even bigger jump in the 3DMark Sling Shot graphics workloads, showing an 86% improvement over the Midgard GPU architecture in the P9 after applying a 2x scale factor to simulate the difference in core count. There’s still a small 10% gap between the P10 and the Snapdragon 820/821 phones, which get most of their advantage in the second graphics test that emphasizes pixel rather than geometry processing.
The demanding Basemark ES 3.1 game simulation uses either OpenGL ES 3.1 on Android or Metal on iOS. It includes a number of post-processing, particle, and lighting effects, but does not include tessellation like GFXBench 4.0 Car Chase.
The iPhone 7 takes advantage of Apple’s Metal graphics API, which dramatically reduces driver overhead when issuing draw calls, to pull ahead of the Android phones that are still using OpenGL in this test. While the P10s support Vulkan, a new low-level graphics API that has similar benefits to Apple’s Metal, benchmark and game support is taking longer to materialize. We should see it in action later this year, though.
The two P10s do very well in this test, placing ahead of the Exynos 8890 version of the Galaxy S7 by 52% and the Snapdragon 820 version by 78%. Even though we’ve seen the Adreno 530 GPU perform well in our other tests, it’s interesting to see it fall behind the Mali GPUs in this workload.
As expected, both the P10 and P10 Plus perform just as well as the Mate 9, all of which are using LPDDR4 RAM. Doubling the number of shader cores and switching from the Midgard to the Bifrost GPU architecture significantly improves peak performance over the previous generation, and puts the P10 in the same league as other current flagship phones.
The Huawei P10 pairs the Kirin 960 SoC with a 3200 mAh (12.23 Wh) battery, a small capacity bump from the P9’s 3000 mAh unit. The P10 Plus, which also uses the Kirin 960, gets a battery capacity increase too, up from the P9 Plus’ 3400 mAh to 3750 mAh (14.33 Wh). In our analysis of Kirin 960, we were surprised to see a regression in power efficiency relative to last year’s Kirin 950/955, despite using the newer Cortex-A73 CPU cores that are supposed to consume 20%-30% less power than the Kirin 950’s A72 cores (same process, same frequency), according to ARM; however, the Mate 9 (Kirin 960, 4000 mAh battery) managed to improve battery life relative to the Mate 8 (Kirin 950, 4000 mAh battery) by saving power elsewhere, notably with a more efficient display. Did Huawei find similar power savings with its P10 and P10 Plus?
To find out, we’ll run them through our standard suite of battery tests. To make the tests accurate and repeatable, we control as many variables as possible, including minimizing background tasks and calibrating each display to 200 nits at 100% APL.
The P10 does quite well in our Wi-Fi browsing test that loads, pauses, and then scrolls through a set of popular websites while connected to Wi-Fi with the cellular radio turned off. Its 10 hours of screen on time is a 2 hour improvement on the P9. It definitely looks like Huawei has shaved power consumption from other components, because this increase is larger than what the bigger battery alone can explain. The P10 Plus uses more power on average than the P10 and its smaller, lower-resolution display, giving it just under 10 hours of screen on time in this test, which is still better than competing phones such as the Galaxy S7, OnePlus 3T, and Google Pixel XL.
When using the cellular radio instead of Wi-Fi, the P10 once again lasts longer than the P10 Plus. The average platform power consumption (which is extrapolated from total runtime and battery capacity) is once again very similar between the P10 and Mate 9, with the P10 using 276-300mW less power on average than the P10 Plus.
PCMark’s mixture of everyday workloads make better use of the CPU, GPU, and memory subsystems than our browsing battery life tests, which are still mostly limited by the power consumption of the display. With more work to do—and more frequent use of the big CPU cores and the GPU—the P10’s screen on time drops to just under 7.5 hours, a 1 hour improvement over the P9 and still a little longer than the Pixel XL. The P10 Plus only manages 6.6 hours, a far cry from the Mate 9’s nearly 10 hour duration. The Mate 9’s battery is only about 7% larger, but it lasts 50% longer in this test. Part of this difference is because of the particular Kirin 960 SoC in our P10 Plus sample, which draws more power than the parts in the P10 and Mate 9 (so a worse bin).
Most of the current flagship phones last around 3.5 hours when playing a game simulation like Manhattan ES 3.1, maybe a little longer if they have a larger-than-average battery. The P10 Plus only manages about 3 hours, the same as the P9, however. The smaller P10 dies about 15 minutes sooner, which is not a great result.
Of course we need to consider sustained performance too. As a general rule, the higher the performance the lower the battery life. The iPhone 7 is a good example; it delivers the best performance in this scenario but fails to match the battery life of its peers. The P10 sustains just over 18fps compared to about 9fps for the P9, so twice the sustained performance for only 15 fewer minutes of battery life. The P10 Plus manages just over 10fps sustained, similar to the P9, but it’s rendering onscreen at 1440p instead of 1080p like P9/P10. Factoring in display resolution, the P10 Plus offers similar sustained performance to other 1440p phones, such as the Galaxy S7, HTC 10, and Pixel XL, but falls about 0.5 hours short of these phones on battery life. The P10’s sustained performance is similar to the Le Pro3, OnePlus 3T, and Mi MIX, which all use lower-resolution 1080p displays, but it falls short on battery life, partially because these other three phones have larger batteries.
GPU Thermal Stability
The 1037MHz peak operating point Huawei uses for the Mali-G71MP8 GPU in the P10, P10 Plus, and Mate 9 is intended primarily for boosting benchmark scores and is not sustainable. All three phones only maintain peak performance levels for 1 minute (which just happens to be how long most graphics benchmarks last) before they begin reducing GPU frequency to avoid overheating. The P10 drops to 21fps after only 4 minutes, a 37% reduction relative to the peak value, before reaching equilibrium after about 30 minutes at around 18.3fps. This behavior is almost exactly the same as the Mate 9, except it drops to 21fps after 8 minutes and maintains 19fps afterwards, probably because its larger chassis can dissipate more heat. The P10 Plus also loses about 38% of its performance after 8 minutes.
The P10’s and Mate 9’s sustained performance is as good as or better than phones using Qualcomm’s Snapdragon 820/821 SoCs, though. The Moto Z Force Droid, with a newer GPU driver, can sustain a peak performance of almost 18fps for 12 minutes, gradually reaching a steady-state frame rate of 14.5fps, while the LeEco Pro 3, which uses a Snapdragon 821 SoC, can maintain 19fps after dropping from a peak value of 33fps. The Galaxy S7 edge also experiences a significant 33% drop in performance starting at the 8 minute mark, stabilizing at about 10fps after 31 minutes, similar to the P10 Plus’ 10.3fps when running at the same resolution.
Once the battery level drops to 10%, Huawei’s battery saving feature, which cannot be disabled, kicks in, reducing frame rate by more than 20%. There’s another step when the battery level hits 4%.
The P10 and P10 Plus include Huawei’s SuperCharge fast-charging technology that includes voltage, current, and temperature protection circuitry. The included wall charger is rated for 5V/2A (10W), 4.5V/5A (22.5W), and 5V/4.5A (22.5W) operation.
The P10 reaches a peak of about 16.2W at the battery shortly after being plugged in before settling around 12.5-13W. The battery charges to 25% in about 14 minutes and reaches 50% in about 31 minutes. The P10 Plus charges a little faster, initially spiking to 17.2W before settling around 14W. The P10 Plus’ battery charges to 25% in about 14 minutes and reaches 50% in about 30 minutes. Both P10s take just over 2 hours to be completely charged.
The P10 and P10 Plus are fast. At least they are when using LPDDR4 RAM and UFS 2.0 NAND like both of our review units. It would have been nice to receive a unit with a different memory type (assuming Huawei is actually shipping units with slower hardware) to explore the performance impact, but that’s outside our control.
The P10s’ bigger GPU gives peak performance a huge boost relative to the P9 and makes it competitive at least with the Adreno 530 in Snapdragon 820. Unfortunately, the GPU’s power efficiency is poor, which is exacerbated by its absurd 1037MHz peak operating point that serves no purpose other than to boost benchmark scores. The good news is that the P10 supports all of the latest 3D graphics APIs and its sustained performance is on par with other flagships with 1080p displays and Snapdragon 820 SoCs.
The P10 Plus’ higher-resolution 1440p display forces the GPU and memory to work harder and reduces performance for games that render at the panel’s native resolution. The additional pixels will be useful if you plan to use the P10 Plus with Huawei’s VR headset, but its IPS panel is not Google Daydream compatible, and the extra pixels are not otherwise necessary for a 5.5-inch IPS display.
The P10’s larger battery and lower power consumption generally improve battery life relative to the P9. Under light to casual use scenarios, the P10 should make it through a full work day, although, heavier workloads that light up the big CPU cores (and especially the GPU) will drain the battery noticeably faster, forcing you to reach for the wall socket to top off. It’s a similar story for the P10 Plus despite its larger battery. Our review sample consistently fell behind the smaller P10 in our battery tests and during real-world use. Its larger, higher-resolution display is partially to blame, but it appears the Kirin 960 SoC in our particular P10 Plus is a lower-binned part, because it consistently drew more power than the SoC in the P10.
In terms of performance and battery life, the smaller P10 is the better choice unless VR is an important use case for you. The uncertainty surrounding memory components casts a gray cloud over the P10 and P10 Plus, however. With the right components, they perform very well. Opening and installing apps may be a little slower if you get one that uses eMMC NAND, but most people probably will not notice. The reduction in memory bandwidth from using LPDDR3 RAM could be significant for serious gamers and VR applications. And because eMMC NAND and LPDDR3 RAM consume more power than the newer parts, there will be some small reduction in battery life too. So while there is some risk that the P10 or P10 Plus you buy will not perform as well or last as long as our test units, most people should still be satisfied with the overall experience.