The iPhone 7 and iPhone 7 Plus Review: Iterating on a Flagshipby Joshua Ho & Brandon Chester on October 10, 2016 8:00 AM EST
Section by Brandon Chester
Now that the general system and CPU performance of A10 Fusion has been characterized, we can move on to more focused benchmarks for the GPU and the storage subsystem. Apple's keynote for the iPhone 7 actually disclosed that the GPU in A10 Fusion is a six core part. The last time I recall Apple mentioning specifics about their GPU was with the launch of the iPad 3, where the GPU was advertised as a quad core implementation that turned out to be SGX543MP4.
The use of a six core GPU is interesting because there's not much choice for Apple given that A9 also used the six core PowerVR GT7600. It really boils down to three possibilities. The first is that Apple has actually continued using the exact same GT7600 microarchitecture as on the A9, albeit with an improved layout on the die. The second is that Apple has moved to PowerVR GT7600 Plus, which brings some improvements to integer compute performance, and memory bandwidth optimizations. And the third is the wildcard option - that Apple has put to use its significant GPU engineering resources on a more customized design; something that's still using the PowerVR architecture, but more custom than ever before. This is a longer discussion to have in our full deep dive, but Ryan's of the opinion that this is somewhere between options two and three, that Apple has done some significant work to produce a highly optimized version of the PowerVR GT7600 Plus
In any case, as Apple isn't using a radically different GPU architecture, most of Apple's stated 50% increase in GPU power comes from increasing the clock speeds, with optimizations such as memory and caching picking up the rest. This is interesting because Apple also advertises that A10 Fusion's GPU uses only two thirds the power of A9, which would indicate a lot of work done by Apple to optimize for power usage.
3DMark Sling Shot is broken down into a few different tests, and at the end the results of graphics tests and physics tests produce separate scores which are then used to generate an overall score.
In the graphics test the results are in line with Apple's stated GPU performance improvement of 50%. The physics score, which is really a CPU test, only improves by 30-35%, which has a direct correlation to the increase in peak clock speed from 1.8GHz on A9 to 2.3GHz in A10 fusion.
Like Ice Storm, the physics test is still basically a chart of devices ranked by cores multiplied by max frequency, and you can see that the iPhones have improved very little over the years, with the improvements tracking closely to Apple's increases in CPU clock speed. This comes down to the test being designed in such a way that there's little instruction level parallelism to exploit due to memory dependencies, which puts Apple's wide dual core CPU at a disadvantage. While it is certainly a valid test situation, it's not really reflective of actual 3D game performance because you would generally not write a game in such a way that it cannot exploit the performance of its target hardware.
Even with the smaller improvement in the physics tests, the overall score for the iPhone 7 is still roughly 50% higher than the Apple A9 devices like the iPhone 6s and SE.
We originally migrated away from Manhattan ES 3.0 to Manhattan ES 3.1 / Metal to push back on devices hitting VSync in the on screen tests. Unfortunately it didn't work for long. With the iPhone 7's increase in GPU performance not being accompanied by an increase in display resolution, the on screen result in GFXBench Manhattan is higher than any other device, and is essentially at the display's refresh limit. The iPhone 7 Plus isn't able to hit Vsync due to its higher resolution, but the on screen result of roughly 42fps is nothing to scoff at either considering the visual complexity of the test.
While on screen performance is helpful from the perspective of someone who wants to see how the phone will actually perform when running a game at its native resolution, to compare directly between devices you need to standardize the rendering resolution. As its name implies, GFXBench's off screen test simply renders all the frames at 1080p in an off screen buffer. In this test the iPhone 7 and 7 Plus both run slightly below 43fps, which puts them right where you'd expect from Apple's claim of 50% greater GPU performance. In GFXBench this also puts the two of them at the same level as the 9.7" iPad Pro for absolute GPU performance.
This gives some interesting insight into the relative clock speeds that Apple is running their GPUs at, as A9X uses a twelve core PowerVR Series7XT GPU, while A10 Fusion uses only six. As I mentioned before, the performance improvements in A10 Fusion primarily come from increasing the peak clock speed. Matching the 9.7" iPad Pro's A9X suggests that Apple has targeted a fairly aggressive clock speed for the GPU in A10 Fusion, and while we can't verify Apple's claim of A10's GPU running at only two thirds the power of A9, if that is indeed the case it would represent a great deal of optimization effort on Apple's part to achieve that despite increasing clock speeds this significantly.
One of the big changes that came with Apple's A9 and A9X SoCs was a new storage controller designed internally at Apple. This was not the first Apple product to use an in-house SSD controller, as the 2015 MacBook used a PCIe SSD and adopted the NVMe interface. A9 and A9X adapted this for use in mobile, and the sequentual performance in particular was far ahead of anything in a competing mobile device.
Apple hasn't advertised any improvements to storage performance with A10 Fusion, but it's worth running tests to verify that performance has remained at the same level. There are also potential gains in write performance when increasing the total capacity of an SSD by adding additional dies. At this point there's really no benchmark that can give comperable results between iOS and Android, so I've decided against doing a cross-platform comparison here.
In general, the NAND performance of the iPhone 7 and 7 Plus is equivalent to the iPhone 6s and 6s Plus. There are some minor differences, but essentially all of them can be attributed to testing variance. The only thing that is worth noting is that there's no significant improvement to write performance even though the iPhone 7 units tested are 256GB models while the 6s and 6s Plus were 128GB models. This suggests that the NAND packages use higher capacity dies so there's no additional parallelism to take advantage of.