Huawei’s new software optimisation for mobile gaming, which goes by the name of GPU Turbo, has so far received a skeptical reception in Europe. This is understandable, because Huawei handset owners won't get the GPU Turbo update until later this month (starting with P20, Mate 10 and Honor 10 models), and in the meantime there's been little evidence to support the manufacturer’s bold claims about improved performance and power consumption.
We figured that if GPU Turbo is a real benefit for gamers, rather than just empty marketing, GameBench’s performance testing tools ought to reveal the difference in the form of objective metrics. So we asked Huawei to provide us with a preview device that would allow us to test with GPU Turbo switched on and off. Read on to see what we found out.
A short disclaimer
Huawei is a licensee of GameBench's testing tools, as are many of its competitors. With any pre-release product or feature, our data can only be considered provisional until we can test off-the-shelf devices and public software builds. As always, GameBench is committed to evaluating gameplay in a way that is objective, impartial and open to verification using the freely available GameBench app or other profiling tools.
Test 1: GPU Turbo switched off
We tested an Honor 10 phone running a build of GPU Turbo that only works two games in the UK: Tencent's PlayerUnknown’s Battlegrounds and Moonton's Mobile Legends: Bang Bang. We picked Mobile Legends for our test and played two consecutive 5v5 matches at max settings ("High" graphics, "High" frame rate, all effects enabled) in order to put a lot of strain on the device. This meant that the game ran at effective resolution of 1080p, matching the Honor 10’s screen resolution, with a frame rate that was uncapped and free to go as high as 60fps.
With the GPU Turbo turned off, however, 60fps turned out to be too much to hope for. In the second battle, which lasted around eight minutes, we got a median of 54fps and this frame rate was far from stable, as shown in the chart below. (Note, our results may differ from those at other blogs, such as GSMArena. This is usually due to differences in testing methodology. For example, we only profiled gameplay segments within a session, excluding all menus, load screens, victory screens etc. which can have a big impact on frame rates and yet do not affect a gamer's competitiveness.)
Without GPU Turbo, the Honor 10's performance wasn't quite as good as pricier Android phones that also render Mobile Legends at 1080p. The Google Pixel 2, for example, costs £230 ($300) more than the Honor 10, but it plays the game at a median frame rate of 57fps and with generally better consistency, as shown in the chart below:
Test 2: GPU Turbo Switched On
What happened to the Honor 10’s performance when when GPU Turbo was switched on? Take a look at the next chart below and you’ll see that Mobile Legends suddenly ran much more smoothly. We recorded a median of 59fps (i.e., almost at the physical maximum of the display) with rock-solid consistency:
It's important to be clear that we're dealing with an unreleased build of GPU Turbo here, with no certainty that the market release will match our results. It's possible, for example, that thermals are more aggressive in this build than what Huawei will release to the market -- we just don't know, and as a result we cannot be sure that this is a fair comparison against the Pixel 2. We'll only be able to make reliable comparisons once GPU Turbo officially and we're able to test it on regular market device. This is something we plan to do as soon as possible, including an analysis of thermal behaviour. In the meantime, however, it's clear that this preview build of GPU Turbo is doing something on the Honor 10 that makes a real positive difference to gameplay.
Throttling and Power Consumption
What's even more interesting about the Honor 10's performance with this preview version of GPU Turbo is that we saw no evidence of throttling, despite our tests lasting for more than 30 minutes of gameplay. Even the iPhone X tends to overheat and throttle its CPU severely if you play more than one battle on Mobile Legends, which has a real impact on gaming performance. You can see this in the chart below, which shows a stable frame rate only until five minutes into the second battle, after which the frame rate goes haywire:
The absence of throttling on the Honor 10 suggests that GPU Turbo may be achieving performance gains without simply pumping up clock speeds and murdering the battery. This is corroborated by the chart below, which compares power consumption with GPU Turbo on and off and shows no significant difference between the two modes:
|Honor 10 playing Mobile Legends:||GPU Turbo Off||GPU Turbo On|
|Average current draw (mA)||896||902|
|Expected gameplay time (hours)||3.79||3.77|
|Energy cost per frame per second (mA/fps)||16.6||15.3|
A difference of a few mA is within measurement error, but even if GPU Turbo does burn a bit more energy, this looks like a small price to pay for the additional graphical performance. This can be expressed through the notional metric of "energy cost per frame per second," which shows that GPU Turbo actually delivered the additional performance at a reduced power cost -- lending some support to Huawei's claims about an SoC power saving from this technology.
How is this happening?
We asked Huawei how GPU Turbo works, but the company provided no information beyond what has already been published in press releases and articles, which generally only explain GPU Turbo in broad terms. Nevertheless, we can summarise what we know and don't know:
Firstly, GPU Turbo is not a chipset technology. It is purely a software change within the EMUI OS, sitting in a middle layer between the code of the game above and the instructions that are sent to the hardware below. This lack of hardware modification might be surprising given the degree of improvement we’ve seen, but on the other hand mobile gaming is immature compared to PC gaming and there’s still plenty of scope for software optimisation to make a difference to gameplay.
Secondly, even if GPU Turbo turns out to be a general mode for all gaming, it’s also possible that the version we tested had been carefully tailored and debugged for just the two games that are currently supported. So it's not yet clear how quickly GPU Turbo will be rolled out to more games, or how fragile it will be if game developers make significant updates to the graphical parts of their code.
Conclusion and What Next?
Even without all the numbers, the difference made by GPU Turbo on the Honor 10 was very visible during Mobile Legends gameplay. The battle we played with GPU Turbo switched off felt juddery and erratic the whole way through. With GPU Turbo switched on, there were a handful of frame rate drops, but they appeared only as minor stutters that barely affected gameplay. The fact that this performance gain came at a bargain energy cost is also impressive.
But a couple of things remain to be seen: Firstly, will GPU Turbo deliver the same results when it officially launches on UK market devices? And secondly, will GPU Turbo make a difference to more game titles? Huawei gave us a clear "yes" to both these questions, but ultimately we can only rely on further testing.
How can I test for myself?
Huawei says that many of its recent handsets will get GPU Turbo between August and November 2018, including the Mate 9 and Mate 9 Pro, the Mate 10 and Mate 10 Pro, the P10 and P10 Plus, the P20 and P20 Pro, Honor 9 and Honor 10. This means it'll soon be possible to test the impact for yourself and make your own comparisons. If you have some basic know-how as a mobile enthusiast or developer, it's easy to do this using GameBench. Download and install the GameBench app on your Android device, create a login and follow the in-app instructions to perform a one-time tether to your PC, and then it’s just a matter of playing a game and analysing the results in your GameBench web dashboard.
(Update 22nd August, 2018: A minor visual update to our charts to make them focus more clearly on the same eight minutes of gameplay across all test sessions.)