Plexing on an Apple Silicon Mac is a total mess. None of the available alternatives work satisfactory and haven’t for some time. Here’s a rundown.
Plex for Mac
Performance problems
This client has had performance issues since it was released (or replaced with Plex for Mac back in 2019). As of this moment (version 1.59.1.3398), idle right after startup, QtWebEngineProcess
consumes ~40% CPU, more or less constantly. Some operations cause this value to fluctuate, which it to be expected of course.
While playing a 1080p/HEVC/AAC 5.1/MKV in Direct Play, consumption is ~65-70% (~25-30% Plex
only) CPU and ~20% GPU. For reference I ran the same video in Plex Web on Safari, IINA (no Plex) and Infuse. Results below.
App | Version | Comment | CPU% | GPU% |
---|---|---|---|---|
Plex for Mac | 1.59.1.3398 | Direct Play* | 65-70% (25-30%***) | 20% |
Plex Web in Safari 16.1 | 4.96.2 | Direct Stream* | 47-53% | 0.5% |
Infuse | 7.4.9 | Direct Play** | 20-25% | 4% |
IINA | 1.3.1 | (local, no Plex) | 10-15% | 6-8% |
* Normalize Multi-Channel = off, Playback Quality = normal, Hardware Decoding = on, Refresh Switch = off
** Upscaling=off, Audio Boost=off
*** Plex process only
Something is not right here. The desktop client should perform way better than this, even if we ignore the extra 40% Qt seems to add.
Some other observations. The high CPU and low GPU in Safari suggest that software encoding is used, but more on that later. The lack of Apple Silicon support is probably a culprit but you can see this on Intel Macs as well. Qt seems responsible for the extra 40% CPU on both platforms (Intel/M1) more or less. Finally, it looks like Qt 5.15 (released May 2020) is used; note that the latest version is 6.4.1 (November 2022).
No Apple Silicon binary
The M1 launched over two years ago (November 2020). Qt 6.2 with Apple Silicon support over a year ago (September 2021) There should be support by now, period. Seriously! The lack of one most definitely affects performance and probably creates problems, not at least with hardware decoding.
No spatial audio
No spatial audio for some reason. Infuse does it. Safari + Plex Web does it. Qt seems to do it.
Plex Web
With browsers supporting HEVC (Safari and Chrome) and Dolby Digital (Safari) this should work better than it does.
HEVC seem to work mostly in supported browsers, but hardware decoding is touch and go.
Safari for example, supports AC3 and E-AC3, but you can’t seem to avoid a transcode without experimenting with Use alternate streaming protocol for video playback
which introduces problems with HEVC video. This applies to other supported audio codec as well, which triggers a “to AAC” transcode.
Conclusion
There is clearly work to be done, which is fine. What is less fine is that comments on the state of things are rarely done and these issues have just been a problem for too long.
The browsers change over time and supporting all of them 100% is a lot of work, I get it. So at least get the native client working better than it does. It is a joke in its current state to be honest.