Battle Royale games like Fortnite and PlayerUnknown's Battlegrounds (PUBG) rely on the principle that all players start on a broadly equal footing. So when a player is put at a disadvantage by their mobile device, for example through increased lag or other technical issues, then it's bound to hurt the game -- as many iPhone X owners are discovering to their cost.
The iPhone X suffers from a couple of quality issues in PUBG. Firstly, there's a graphical glitch which causes persistent stutters while playing, especially noticeable to gamers who are sensitive to such "judder" or who have experienced PUBG running smoothly on other devices. Secondly, players can experience a sudden dimming of the iPhone X's display, to the point where it makes it difficult to stay competitive if they're playing in a bright environment. These flaws aren't fatal, but they're probably affecting a lot of people. PUBG Mobile boasts ten million daily active users and the iPhone X is currently the most shipped smartphone. The fact that these issues haven't been fixed already might therefore hint at some sort of underlying problem with Apple's top-end phone.
To find out more, we ran a few tests using GameBench. It needs to be said that getting intelligent optimisation metrics out of the iPhone X is difficult, whether you're using GameBench, iOS Instruments or any other profiling tool. (We've written about this already.) Nevertheless, we went ahead and got some interesting results...
The judder problem
To give us a baseline for comparison, we played PUBG on an Samsung Galaxy S9 (US variant, G960U). We selected the "HDR" graphics setting, which gave us an effective vertical resolution of 720px, and the "High" frame rate setting. We played for 15 minutes as a warm-up and then sampled the next eight minutes of gameplay. We got a steady 30fps median frame rate.
Next we tested the iPhone X, with the same warm-up and settings. Effective resolution was the same at 720px, but we found that the game played at an unusual frame rate of 33fps. This slightly quicker animation might seem like a modest improvement over the GS9, but it's actually a likely cause of the judder problem. A frame rate of 30fps fits neatly onto a 60Hz display, with each frame lasting for exactly two screen refreshes and producing smooth animation. By contrast, 33fps cannot be displayed cleanly. Different frames are held on the screen for different fractions of a second and the player is likely to notice this, especially in a game like PUBG where there's lot of panning of the camera. Some devices have adaptive sync technology to avoid this problem, but the iPhone X doesn't.
We don't know if the 33fps frame rate represents a deliberate target by the PUBG Corporation's developers, or whether it's a bug. Either way, there's no real solution other than to let your eyes grow accustomed to it, as most players will probably do. You could also turn the frame rate up to 40fps on the iPhone X by choosing the game's "Ultra" setting, but that doesn't help much. 40fps doesn't sync with 60Hz either, so there's still judder. What's more, when we tested this higher setting, we experienced worse optimisation in other areas. Frame rate variability, which is the typical jump between consecutive frame rate readings, increased by 50 percent and became worse than on the GS9 (as shown in the chart comparison above). More seriously, the iPhone X started to overheat, which brings us to the next issue.
The dimming problem
We played PUBG on the GS9 for over an hour without experiencing any problems. This was with an effective resolution of 720p, frame rate at 30fps and with screen brightness set to max. On the iPhone X, however, the same settings led to forced screen dimming after less than 20 minutes. This has been raised on many forums and is annoying to gamers for the simple reason that they're left unable to see their screen properly. After dimming, the device doesn't let the user turn brightness back up.
Screen dimming isn't solely an iPhone X thing. We tested PUBG on an iPhone 7 Plus and found that this older device did it too. However, the iPhone X dims sooner and more severely, making the issue more pronounced.
Using GameBench's power measurements, we found that the iPhone 7 Plus burned an average 1,100mA of current while playing PUBG at the above settings. This extremely high rate of energy consumption is enough to cause the battery to drain from full to empty in under three hours. However, the iPhone 7 Plus is very good at dissipating the heat generated from this consumption, so it only needed to force-dim by a moderate amount, and only after around 25 minutes of gameplay.
It's harder to get power metrics from the iPhone X, because it has a bug that stops developers from monitoring its power consumption. This means we're forced to extrapolate from OS-reported battery drain instead, which is less accurate. Based on this method, playing PUBG with the same settings uses an estimated current draw of 800mA. This is significantly less than the iPhone 7 Plus, but the iPhone X nevertheless overheated sooner, causing severe screen dimming after just 17 minutes of gameplay. When turned the frame rate up to 40fps, the iPhone X drew around 1,000mA of current and dimming started after just 12 minutes of gameplay, with the screen becoming hard to see around the 20-minute mark. All of this points towards Apple's newest device having a problem with heat dissipation, tallying with other overheating claims that have been widely reported elsewhere.
|PUBG Power Consumption ("HDR" Graphics, "High" FPS, Max Brightness)|
|Device||Average Current||Expected Gameplay Time|
|iPhone X||800mA**||3.4 hours|
|iPhone 7 Plus||1,100mA||2.6 hours|
|GS9 (G960U)||760mA||3.9 hours|
|**Estimate based on observed battery drain|
The underlying problem
GameBench crowdsourced data suggests that this apparent heat dissipation problem on the iPhone X doesn't only affect PUBG. For example, we've also noticed severe CPU throttling in Moonton's Mobile Legends after just two battles (less than 25 minutes of total gameplay). Like forced dimming, CPU throttling is a response to overheating, but it affects game performance rather than brightness, with frame rates falling as low as 20fps.
Interestingly, Mobile Legends not only suffers from thermal throttling, but it also has the same 33fps glitch as PUBG, hinting that these two issues might be connected somehow. Further support for this idea comes from the web chatter of HTML5 game devs, who have also discovered the 33fps issue and have attributed it to an iOS power-saving algorithm, which affects other iPhones too. One game dev has described 33fps as a "horrible experience" that "makes you think that your device is broken."
This is only speculation. The only thing we can say with any certainty is that, compared to the iPhone X, the Galaxy S9 plays PUBG smoother and cooler for longer. Given Apple's lack of transparency around game optimisation, this perhaps isn't surprising. If developers can't get accurate metrics out of a device, how can we expect them to optimise their game for it?
Apple's platform has historically been dominant in gaming, due to its Metal API and the fact that developers only had to tailor their games for a very small range of chipsets and form factors. It seemed Android could never catch up, due to its wild hardware fragmentation and messy jumble of graphics APIs. But Google, alongside Android chipset designers like ARM and Qualcomm, responded to this problem by exposing more information to developers in order to help them improve performance. This strategy now seems to be working, while Apple's -tight-lipped approach is causing it to fall behind. PUBG looks like an important example of this.