When Fortnite first appeared on iPhone, we were quick to laud a genuine technological achievement - a visually cut-down version of the full game that was still recognisably Fortnite, that played the same way, that run the same code and allowed users to buddy up with their friends running on console and PC. Recently, Epic took the mobile version of Fortnite to the next level; the latest iOS devices run the game smoothly at 60 frames per second, just like their console equivalents - and the story of how that became possible is absolutely fascinating.
The truth is that aside from minor modifications to unlock the frame-rate and add the option to the game's menu system, no substantial code revamp was required at all. Fortnite on the latest iPhones runs at 60 frames per second simply by virtue of the new Apple A12 Bionic silicon - or rather its increased power and crucially, its superior thermal performance. Games development in the mobile space has an extra set of considerations for developers - specifically, not overheating the device. Ongoing optimisations have been taking place, however, but the focus there has been on maintaining performance with the additional demands of the game's many expansions and enhancements.
Based on conversations with Epic Games, last year's iPhone X can - in theory - run Fortnite at 60 frames per second. According to the developer, per-frame rendering times vary between eight to 16ms. In more complex scenarios it would be tight, but that's fast enough to hit 60 frames per second for the majority of the game's duration. However, the reality is that running the last-gen A11 Bionic flat-out would overheat the device, leading to lower CPU and GPU clocks, severely impacted performance and highly compromised battery life. Epic's solution is simple then - lock to 30fps and in the process give the device the thermal headroom to stay cool enough to run at peak frequencies.
It's a completely different ballgame with the A12 Bionic found in the iPhone XS, XS Max and the cheaper but just as capable iPhone XR (which Epic supplied for Fortnite 60fps testing). Epic says that the extra processing power allows Fortnite to complete a frame in the eight to 10ms range, meaning that there's still plenty of 'down time' for the silicon. Apple's move to TSMC's new 7nm process also opens up the thermal headroom required to maintain peak clocks. By default, the game still boots with 30fps enabled, but the user can switch to 60fps - though obviously, battery life will be diminished compared to the default option, and you can expect the device to get warmer too.
But does it work? For the vast majority of gameplay, yes. I'm still not a fan of Fortnite's necessarily compromised touchscreen controls, but the Epic game looks and plays better for the same reason that phone UIs feel good at full frame-rate - there's more of a 1:1 feel between touch and response. Side-by-side with the game running at 30fps on a Razor Phone, the visuals are almost entirely identical (the iPhone XR seems to have texture streaming advantages and occasionally improved draw distances) but the look of the game is much improved: a smooth 60fps clearly beats out the more variable performance on Android, a factor of its half-rate refresh and uneven frame-pacing.
Side by side with the Xbox One X, the same visual compromises remain - reduced LODs, geometry, textures, lighting, ambient occlusion etc - but the overall impression is still very similar, especially as many of these features aren't as noticeable when played on a phone screen. What is noticeable is the frame-rate, where iPhone now gets very close to the full console experience - a remarkable achievement bearing in mind that Fortnite launched as a 30fps game on the current-gen consoles. Performance isn't entirely locked, mind you - aside from little hiccups here and there, some scenes with extended draw distances (but certainly not all) can deliver a more sustained hit to frame-rates.
Epic says that the CPU time required for Fortnite is in the 4-5ms range on the new iOS silicon. The firm also stresses that it's the same code running on the consoles - it has to be, to make cross platform play possible - but it is, of course, running with lower detail levels. However, there's already been a bump in quality to animation and network prediction code, and more enhancements could be coming to make use of that overhead. Additionally, the iPad Pro should also have the same 60fps option as the latest iPhones, and Epic says that even last year's model should have the functionality too - albeit operating one notch down on the quality settings.
If you're investing in one of the iOS models, I highly recommend checking Fortnite out. What was already one of the most impressive mobile games now looks and plays better, and running console and phone versions side-by-side via spectator mode with identical content provides one of the most unlikely - yet satisfying - real-time graphics face-offs I've seen. The one drawback? There's no such thing as a free lunch when it comes to 3D rendering and so obviously, running the game at twice the frame-rate makes for a hotter phone and reduced battery life. It's why Fortnite on iOS defaults to 30fps as the norm on all devices - but the 60fps option is there on supported devices in the options menu and I'd say it's the preferred way to play.