Towards the end of last year, Apple released the latest version of its Apple MacBook Pro and Macbook Air laptops. This release was notable as with these brand-new laptops Apple made a significant change – the processor inside was based on its own M1 chip rather than the Intel architecture that it had been using since 2006. Since its release, the Apple M1 has been widely hailed for its performance, outstripping Intel in all the major benchmarks and all in a cool, quiet package with low power consumption.
The Apple M1 showcases the power of the system-on-chip (SoC), with CPU, GPU and memory combined in a single package. This is of course, exactly how smartphones have been designed, and the SoC approach makes perfect sense for any product that can be disconnected from the mains and used with a battery, such as a laptop. Of course, it’s not the first time an SoC has been found inside a laptop – many Chromebook’s are powered by SoCs, but those were slightly higher-clocked chipsets that were originally used in smartphones rather than designed from the ground up for a laptop.
The success of the M1 in benchmarks isn’t just down to the CPU cores of course – it has a lot to do with the GPU, which will already be familiar to anyone that has designed apps for iOS. As Apple says: “The M1, as does all Apple GPUs, relies on tile-based deferred rendering (TBDR) and a unified memory architecture to provide great performance with minimum power.” Certainly, the GPU in the M1 has been scaled up from that in the A14 used in the latest iPads, with double the number of cores, but it shows the underlying power of the TBDR approach. As Ars Technica says in its analysis of the M1: “you can beat the M1’s GPU with high-end Nvidia or Radeon desktop cards—but only at a massive disparity in power, physical size, and heat.”
Running iOS app on M1
The good news is that iOS apps can be run directly to the Apple M1, giving developers an even wider potential audience for their apps, and increasing choice for consumers. If you have an M1-based laptop it’s something you should certainly try. As CNET says: “if you don’t install iPhone apps on the M1 MacBook Air, Pro, Mini, you’re missing out.”
It could simply be a matter of convenience. If there’s an app that you use a lot, that doesn’t have a desktop version: say Instagram, you don’t have to grab your phone to run it – you can now do it directly from your Mac.
That of course includes games. A prime example is the popular title “Among Us”. It’s available on PC, Android and iOS, but there is no native Mac version. With the M1, you now have access to this on your laptop without having to deal with the vagaries of an Android emulator.
iOS apps will run on the M1 unless the developers opt-out, which is good, but it does mean that some app won’t necessarily work that well if they have not been optimised. Also, some app providers have chosen not to make their apps available on M1, such as Netflix. Some games do work very well though, especially those that support controllers. If you want to find out more about iOS games available for the Apple M1 then you check out this video that tests out 30 iPhone and iPad games to see how they play.
For users, installing iPhone or iPad apps on an M1 Mac is quite straightforward. If you’ve already purchased them on iOS, simply open the App Store on the Mac, click your profile and under your account, choose, “iPhone & iPad Apps” – and you can download the app just like another other application.
Porting your iOS apps
It’s still early days and there’s clearly work to be done by developers to make the experience of running iOS app on the M1 better. Developers can use the Developer Transition Kit to help them optimise their apps to make them run universally across Apple devices, from iOS to M1 and even tvOS for Apple TV. They should also look to build their apps using Catalyst, which lets those iOS apps run as full Mac apps, complete with Mac features and keyboard support.
As we can see in this video from Apple (6m 45), 3D applications work tremendously well on the Apple M1, thanks to its power-efficient TBDR architecture. A new game, Balders Gate 3, runs well on the M1 and utilises features such as physically-based rendering, cascaded shadow maps, temporal anti-aliasing, SSAO and depth of field.
You can also see a demo video of advanced depth-of-field effects running on PowerVR, an effect taken from photography where the background is blurred in comparison to foreground objects, which brings a dramatic, cinematic effect to 3D games.
While it hasn’t yet been ported natively to the Apple M1, the Unity game engine runs well on it.
In this post, we have several tips on how to optimise performance for PowerVR on the Unity game engine. One example, among many, is simply changing the default image compression from ETC to PVRTC, which will provide optimal compression on PowerVR hardware.
Outside of Unity our PVRTexTool, part of the PowerVR SDK and tools, enables developers to optimise their applications on PowerVR, using either a GUI or a command line so it will be worth becoming familiar with that too.
Taking advantage of M1
With the arrival of the Apple M1, we can see how well TBDR-based technology scales to higher-end scenarios, beyond pure mobile. If you’re a developer comfortable with creating apps for iOS you should take a close look at how you can optimise your app for the M1, so you can get your app in front of an even wider audience.