The Google Nexus 5X Reviewby Brandon Chester on November 9, 2015 8:00 AM EST
CPU performance is one side of an SoC, while GPU performance is the other side. With two years of GPU development between the Nexus 5 and the 5X we're hopefully looking at a substantial uplift in GPU performance. Qualcomm's official figures peg Adreno 418 as 20% faster than Adreno 330 in graphics workloads. To characterize the Nexus 5X's performance during graphics workloads that are similar to those a 3D game would provide I've run it through our standard GPU-focused benchmarks. The first is 3DMark, followed by BaseMark X and GFXBench 3.0.
The Nexus 5X ends up actually coming in below the Nexus 5 in 3DMark's overall score. This is the result of the much lower score in the physics sub test. However, it's worth noting that the 3DMark physics test has heavy data dependencies and all of our tested devices with bigger out of order cores end up doing poorly. While this is a possible scenario in a real-world program, I wouldn't make too many conclusions from the Nexus 5X's performance here. In the graphics test there's actually a surprising gap between the 5X and the LG G4 which uses the same SoC, and I've been unable to get a score anywhere near it no matter how many times I re-run the test. At least in 3DMark it looks like the LG G4 has a bit of a lead over the Nexus 5X.
BaseMark X's results are more in line with what I expected to see from the 5X's GPU. The on-screen results are far ahead of the LG G4, which isn't surprising at all when you consider that the G4 is driving a 2560x1440 panel while the 5X is pushing 1920x1080. Both off-screen results are close enough that they could be ascribed to margin of error, and ultimately BaseMark X shows that there's not really any gap between the absolute performance of the G4 and the 5X, but the 5X will definitely be faster for anything running at native resolution.
The results in GFXBench echo those of BaseMark X. The 5X beats the G4 in both off-screen cases, but only by a small margin. With the 5X being slightly faster than the G4 in both GFXBench and BaseMark X we may be looking at some small driver improvements here, but since all the gaps are so small it may just be coincidence that the 5X is the faster of the two devices in both tests.
Ultimately, both Adreno 418 and 430 are pretty good GPUs, and with the Nexus 5X being priced at $379 I think it offers more than adequate GPU performance for its price. What's interesting is that even though we didn't see Snapdragon 805 show up in many devices, it was in the Nexus 6, and its Adreno 420 GPU is definitely a bit faster than the Adreno 418 in the 5X. The Nexus 6 was also priced much higher than the 5X, and so with the 5X you're definitely getting a lot more GPU performance for your money than you got with the Nexus 6. The performance uplift is definitely greater than Qualcomm's stated 20%, and it's always nice to see something beat expectations.
When I originally reviewed the Nexus 6 I decided to publish the review without any storage benchmarks, because in my testing I noticed that the results I was getting simply did not add up. Futher investigation revealed that it was the result of the Nexus 6's forced Full disk encryption (FDE), and the encryption and decryption of data being done without the use of high speed, power efficient fixed-function hardware. Later on in the Nexus 9 review Josh noted that there was a significant uplift in NAND performance compared to the Nexus 6, and it was clear that the AES/SHA instructions that are part of the ARMv8 instruction set were helping to reduce the performance impact of FDE.
Since Snapdragon 808 supports the ARMv8 ISA this presents a good opportunity to revisit this topic. The Nexus 5X shares several things with the LG G4, and one of them is its NAND, which is an eMMC 5.0 solution provided by Toshiba with the model number 032G74. While there's not much public information on this storage solution, one would expect that NAND storage speed results from the Nexus 5X closely match those of the LG G4, as if that isn't the case then it's clear that FDE causes a noticeable loss of performance despite ARMv8's cryptographic instructions.
Random read and write speeds both take a hit when compared to the LG G4. While the gaps don't look enormous, the performance with small transaction sizes on mobile devices is hardly great to begin with, and so even these small gaps can matter greatly. In this case both random read and write speeds are both about 30% lower than the G4, which is significant.
Sequential write speeds on the 5X end up being about equal to the G4, but the gap in sequential read speeds is enormous. Altogether, it's clear that there's still a significant reduction in NAND performance caused by the use of FDE when only using ARMv8's cryptographic instructions to encrypt and decrypt data to be written. This contrasts with comments made by Google engineer David Burke during a Reddit AMA discussing the FDE situation on the Nexus 5X in response to a comment that was referencing the Nexus 6's poor storage performance. What's interesting is that ARM has stated before that the ARMv8 cryptographic instructions are not a substitute for fixed-function hardware, and so it looks like there's a disagreement between ARM and Google on whether or not this is an adequate solution for encryption.
Reduced storage performance is not the only problem with this solution. Waking up the AP to do encryption or decryption every time the disk has to be read from or written to incurs a huge power penalty compared to simply using a hardware AES block and DMA which happens to be what Apple has been doing for about six years now. There are power savings here just waiting for Google to grab them, but they've decided not to do so for a second year now. Google certainly has an interest in getting Android phones to use FDE out of the box in order to combat negative perceptions about Android's security, but I don't think it's acceptable to have such a policy without the necessary hardware to make sure it doesn't affect the device's performance to any significant degree.
The Nexus 5X is certainly in a much better situation than the Nexus 6 was, but Google's FDE policy means you still get significantly reduced storage performance across the board compared to a device with the same NAND. This has various ramifications, ranging from data transfer speeds, to app install times, to performance when apps are updating in the background, to the ability to rapidly take photos and record high bitrate video. I really wish Google would either not ship with forced FDE and allow it to be disabled, or implement the necessary fixed-function AES hardware to avoid the significant performance hit.