M1 - Why is the apple silicone editor SO MUCH FASTER than wintel?

Macbook air M1 starts to play in 2 seconds, a gen 12 1260p takes 6 seconds, the 8400 takes 8 seconds and a desktop gen 12 takes 4 seconds.
What’s so special with the apple silicone that makes press to play so fast?

Single core performance seems pretty important for Unity.

Entering play is instant on Unity 2021 with my i9 12900kf.

I haven’t had the opportunity to try out the new hardware but if I had to guess it’s most likely memory bandwidth and latency differences. The M1’s memory is on the processor package right next to the die. The M1 base model has a memory bandwidth of 80GB/sec.

The higher tier ones are where it truly gets insane. The M1 Pro is 200GB/sec, Max is 400GB/sec, and Ultra is 800GB/sec, and while not all of that is going to the CPU it’s still far in excess of what an Intel processor would normally receive.

By comparison DDR4-3200 is only 25.6GB/sec per channel with desktop systems only having two channels for a total of 51.2GB/sec. While it’s right next to the socket on the mainboard that’s still far away compared to right on the package. It’s why traditional desktop CPUs have the caches that they do and why we’re jumping to DDR5.

M1 package

1 Like

I didn’t know that M had no L cache. So there is no need to copy memory between the caches which must also reduce latency by a lot.

I didn’t mean to imply that it lacks a cache. I was referring to the size of it in desktop CPUs. The M1 has relatively small caches (L1 is between 256KB and 320KB depending on whether it’s performance or efficiency) in the CPU cores compared to Intel/AMD CPUs (L1 in these is typically 1MB).

1 Like

Why are entering play and compiling so hungry for memory bandwidth?

When you enter play mode, Unity does back up any open scenes and ‘reloads’ new instances so it can restore everything afterwards.

Domain reloads are also operating on tons of small files. I think in both cases, the wider your memory bandwidth, the better the performance you’ll see.

Ah so it’s disk heavy too. I noticed that duplicating a project on the M1 is 100x faster so maybe that’s it.

Modern chips and systems of any type are hard to reason about as far as their speeds, due to operating system cleverness, caching (at every level), other things going on in the OS, etc.

Using the Unity Editor on a modern M1 chip laptop seems very snappy and quick.

But then building an Oculus Quest2 VR app consistently took twice as long as my 2015 Intel MacBookPro!!

To me the snappy editor feel is all worth it. Building APKs is a batch-y not-so-interactive part of GameDev… always nice if it is faster, but not critical.

That. I just learned that Mac OS creates only a link when you do a project duplicate. Then it stores delta changes as you modify the duplicate.
And I started using robocopy for project duplication, a few seconds instead of minutes with RoboCopy.exe "Z:\liquid\" "Z:\liquid (copy)" /E /MT:32 /NDL /NP /NJH /NJS /S /NFL
so disk IO might not be the reason of such fast play

What drive are you using on the non-M1 platform? HDD? Sata SSD? NVMe SSD?

nvme