The Huawei Mate 9 Reviewby Matt Humrick on January 27, 2017 7:00 AM EST
The Mate 9 is the first device we’ve tested using ARM’s new Bifrost GPU architecture. Like the Mali-T880MP4 Midgard GPU in the Mate 8’s Kirin 950 SoC, the Mate 9’s Mali-G71MP8 Bifrost GPU processes 1 pixel per clock per core and up to 12 FP32 FMAs per core; however, the Mate 9’s Kirin 960 SoC doubles the number of GPU cores, giving it a significant advantage over the Mate 8 in both ALU and texturing throughput and making it the first Huawei flagship phone with a flagship caliber GPU.
Flagship phones have been hitting the 60fps V-Sync limit in the older OpenGL ES 2.0-based GFXBench T-Rex game simulation for a while, but we’re now starting to see some phones averaging 60fps over the duration of the test, including the iPhone 7 Plus and Mate 9. Both of these phones have 1080p displays, which gives them an advantage over some of the other flagships with 1440p displays in the onscreen test, although they both maintain their advantage when running offscreen at a fixed 1080p resolution (but not limited by V-Sync). Throughput scaling based on core count should give the Mate 9 a 2x advantage over the Mate 8. In fact, the Mate 9 does a little better than this, outpacing the older model by 2.43x thanks to Bifrost’s microarchitecture improvements. The Mate 9’s Mali-G71MP8 even outperforms Qualcomm’s Adreno 530 GPU by a very small amount.
When running the original GFXBench Manhattan test, which uses an OpenGL ES 3.0 game engine, the Mate 9 remains competitive with phones using a Snapdragon 820 SoC. It’s still faster in the onscreen test due to its 1080p resolution, and essentially pulls even in the offscreen test.
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.
Looking at the offscreen results, the Mate 9 is about 2.5x faster than the Mate 8 and P9, with performance scaling beyond the difference in core count once again. Perhaps the biggest change 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). To fully utilize a shader core, Midgard needs to execute 4 instructions in parallel, which is not easy to do for a number of reasons. By moving to a scalar ISA, Bifrost can use TLP to increase shader core utilization, which is much easier to do with modern game engines and high-resolution displays.
The Mate 9 and its Mali-G71MP8 GPU also finish just ahead of the Mali-T880MP12 GPU in the Galaxy S7’s Exynos 8890 SoC, with the former’s architectural improvements and frequency advantage (the S7’s GPU runs at up to 650MHz) overcoming the deficit from using 4 fewer cores; however, it falls behind the phones using a Snapdragon 820/821 SoC, whose Adreno 530 GPU delivers better ALU performance. 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 Mate 9 lead the pack because they have fewer pixels to render.
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).
Most of the current generation flagship phones perform well in this test, with only a 17% performance spread between the LeEco Le Pro3 and the OnePlus 3T based on the overall score. Looking specifically at graphics performance, the Mate 9 sits in the flagship group at the top of the chart, while the Mate 8 and P9 find themselves among the mid-range phones. ARM’s new Bifrost architecture does particularly well with this workload, showing an 86% improvement over the Midgard GPU architecture in the Mate 8 after applying a 2x scale factor to simulate the difference in core count.
The Physics test runs on the CPU and is heavily influenced by memory controller performance. The Kirin 950/955/960 SoCs in Huawei’s phones handle this specific workload the best, outpacing the Snapdragon 821 in the Le Pro3 by 25%.
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 Plus 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. Recent Android devices, including the Mate 9, support Vulkan, a new graphics API that brings similar benefits as Apple’s Metal, but we will not see benchmark support for it until later this year.
The Mate 9 does extremely well in this test, outpacing the Galaxy S7 and its Mali-T880MP12 GPU by 52% and the Le Pro3’s Adreno 530 GPU by 68%. It’s also 3.2x faster than the Mate 8, with Bifrost showing a 61% advantage over Midgard (after applying a 2x scale factor to simulate the difference in core count).
Huawei finally delivered a flagship phone with a flagship-class GPU. The Mate 9 and its Kirin 960 SoC show excellent peak performance in our tests, making it competitive with current flagship phones and SoCs.
ARM’s new Bifrost GPU architecture is also big improvement over Midgard. While game simulation tests are too high level to correlate performance gains with specific changes, it appears the switch to a scalar ISA that relies on TLP rather than ILP was the right choice, leading to higher shader core utilization in modern game engines.