M1 / Apple Silicon compatibility

Benchmarks are useful as a way of directly comparing products within the same controlled environment, given known performance of a baseline. Zwift typically responds to raw processing power, so it’s worthwhile knowing how a GPU or CPU compares to another when running the same benchmark.

However it only really works if else everything is the same; the architecture, the API, the operating system, the other hardware used and so on. So even comparing different generations of GPU/CPU on the same system otherwise can be fallible. There isn’t much linear scaling when it comes to Zwift performance, which backs this up.

1 Like

Coincidentally I was reading the following this morning:

which also includes discussion of the Apple TV 4K 2022 in comparison to the Xbox One, PS4, and PS5.

1 Like

We are starting to get to a point where Xbox One and PS4 games should, in theory, be playable on Apple TV without too many compromises.

Righto.

Hey look: Apple TV's path to becoming a real game console - FlatpanelsHD

Apple TV is now powerful enough to run many games from previous consoles generation

Show me, Rasmus. Show me.

well, not necessarily…
The fact that Apple TV is so popular for running Zwift could be — or should be! — a valid reason to improve the software on this platform!

3 Likes

That’s one way of looking at it, but far the most popular response to any note that Apple TV runs the lowest graphics profile at a low resolution and frame rate (compared to other options) is that users find it good enough, or simply don’t care at all - both of which are totally fine viewpoints to hold. Personally I want the best of what I’m paying to stare at, but that doesn’t make others wrong. They’re typically coming from an old/weak/slow/unreliable laptop, so by default it feels like a big upgrade in many respects.

2 Likes

Obviously, the majority in this discussion thinks differently about your “it’s good enough” statement.

Indeed! I too am part of that camp :sweat_smile:

And while I contributed to going off-topic w/a response to an Apple TV post, this thread is about Apple Silicon (M1/M2) of which the Apple TV does not have! So, let’s continue moaning about the lack of the lack of M1/M2 native support (no Rosetta) :grin:

1 Like

That’s partially incorrect.
Apple TV uses an A15 Bionic SoC, which is a 64-bit ARM architecture just like Apple M1/M2. Since the assembly code for the two CPUs is basically the same, the two topics are closely related.
What’s more, iPhones and (more importantly) iPads belong to the aforementioned 64-bit ARM family too.
These are all Apple platforms, so when you develop for a device you don’t have to reinvent the wheel if you want to port the source code to another platform: you usually just need minor fixes.

PS: I’m referring to the latest models in all cases.

They might both be ARM-based, but there are big differences in the architectures of A15 Bionic and M1/M2. You’re hugely over-simplifying.

2 Likes

No: “tvOS. Leverage many of the same frameworks, technologies, and concepts as iOS.” Source: Apple
Obviously, nobody forces you to design/write software by leveraging the same frameworks (to use Apple’s words), but it is advisable if you want to produce portable software.

This thread isn’t about portable code though.

This thread is about extracting high(er) performance from software. And that involves understanding the architecture to make the most of it.

It is, because some people (including you) are implicitly claiming a priori that good software is not portable across different Apple devices. Although this might have been true in the past, it is not true anymore. Also, you are confusing the concept of system design/computer organization — i.e. what you call “architecture” — with the instruction set architecture. Considering that

  1. all these operating systems (xOS) belong to the same family,
  2. all these CPUs belong to the same family (RISC ARM64),
  3. all these platforms can now use the same frameworks,

there is no need to study/understand how each device was designed, even though the devices look very different (e.g. an Apple TV, an iPad, a MacBook Pro). The same goes for their respective CPUs.

This thread is about extracting high(er) performance from software. And that involves understanding the architecture to make the most of it.

No, or at least not what you mean by “architecture”. On the contrary, it involves following Apple’s guidelines, in which case you will get assembly code that can be executed by different CPUs — provided they share the instruction set as is the case here — even though the “architectures”, to use your word, look different and/or have a different name.

Nowadays, a well-designed app can run on
tvOS :arrow_right:︎ iOS/iPadOS :arrow_right:︎ macOS
(not necessarily the other way around)
which is remarkable anyway.

That being said, it seems that Zwift developers couldn’t care less.

1 Like

I don’t think this is true. We’ve already heard that they are working on native builds for macOS, and we don’t know what else may flow from that work. My guess is that Zwift developers are also interested in this work and frustrated by the slow progress. If you need to blame someone, focus on the leadership. They set the priorities and sign up to take the heat for those choices. And they decide how much gets publicly communicated.

3 Likes

I never said anything remotely like that.

I’ll leave you to it though, because you seem solely concerned with code portability at the machine code level, which hasn’t been in dispute.

6 Likes

Glad you’re available to do Zwift’s job of communicating to their own company forum

1 Like

That’s exactly why I don’t typically post them on here. Don’t see why I should.

3 Likes

Which thread was this on?

Also enjoyed this one

2 Likes