Beware of Claims for Apple MacBook Pro M1 Max Speed Gains Over Intel! OpenCL on/off can be win/lose
UPDATE: regarding the original post below: well, I goofed—Open CL was turned off for all the machines, causing the GPU to not be used for Smart Sharpen. I had turned it off because of stability issues some time ago. Still, what follows below is still correct for the MacBook Pro in terms of CPU usage, should you turn off OpenCL. And it’s strange that an emulated Photoshop (Intel version via Rosetta) is just about as fast as the GPU.
But in the course of comparing OpenCL on vs off on the MBP, I found that for some filters OpenCL is actually slower when enabled than disabled! Sometimes a little, and sometimes a shit-ton: my Noise filters (Dust And Scratches and related) are running 4.4X slower with OpenCL enabled! Also, with OpenCL enabled, I am seeing erratic (varying and slowing) times across iterations of a test. What a mess!
I also see both poor CPU and poor GPU usage on the MBP M1 Max in some tests, suggesting that even better results should be possible. This cake looks not quite baked.
... Original post...
The Smart Sharpen filter is the #1 most important filter I use in Photoshop. Nothing else comes close, and it is the thing that most often makes me wait.
So along come claims (including Adobe) saying that the Apple MacBook Pro M1 Max is 1.5X faster than Intel-based Macs for Photoshop. That might be true for some Consumer Reports-style weighting of filters I never use and most people are likely to never use (Distort or Pixellate, anyone?). Dropping context of what matters.
My tests show that the M1 Max wins handily for Lens Corrections, Distort, Blur, Pixellate, Noise and various others, by a little or a lot. But I don’t use any of those filters! So their weighting/relevance is a zero as far as what photographers are likely to care about.
But Photoshop Smart Sharpen on Apple Silicon is a big loser*. And this is Apple’s fastest model. Ditto for hashing speed, which is slower than a 7-year-old 4-core Intel laptop.
This is not a hardware fault; in this case it looks like Adobe has goofed (a bug).
So while the Apple M1 Max chip can be very fast (amazingly so) for most everything and perhaps the biggest leap in computing performance I have witnessed in 30 years, it also underperforms for a few things. Nearly all of the time it is incredibly fast. But what if your most common Photoshop Filter is 3.5X slower?
Why is Photoshop Smart Sharpen single threaded on Apple Silicon?
On my 2019 iMac 5K, all the CPU cores get used for Smart Sharpen, see image further below.
But Smart Sharpen with openCL disabled is single-threaded on Apple Silicon in Photoshop (only one CPU core is used). Looks like a BUG. The good news is that maybe Adobe will fix it. And maybe not—maybe it is assumed that the GPU with OpenCL does the trick.
Ironically, running PS in emulation mode (Rosetta emulation) is 3.2X faster, with a time of 11.0 seconds with 6.5 CPU cores used! Looks like a bug in the threading code in Photoshop. And it’s not the only area—fast as it is, Enhance Details makes poor use of CPU cores also.
If it were fixed to use all 8 high performance CPU cores *and* it scales efficiently, it ought to be about 7X faster, plummeting the 35.4 second figure shown below to about 5.1 seconds, which would be about twice as fast as even the 28-core 2019 Mac Pro. If it were to scale perfectly and to use the 2 efficiency cores also, it would plummet to about 4 seconds.
Below, the MacBook Pro M1 Max single-threaded Smart Sharpen makes it 3.5X to 2.5X slower than other Intel Macs.
Below, the CPU utilization for Photoshop Smart Sharpen* is a single CPU core, at best. Graph shows all system activity of all cores while a large Smart Sharpen is happening.
* Battery => Energy Usage = High Power, Photoshop CC 2022 v23.1.1
Reader Adam S wondered if Smart Sharpen might be faster with Photoshop running as Intel code on the M1 Max (Rosetta emulation). Indeed, doing so causes PS to use all the CPU cores somewhat (about 6.5 CPU cores in total). And it drops the time to 11.0 seconds from 35.4 seconds, or 3.2X faster—emulated! But everything else feels sluggish.
Below, Photoshop uses all the CPU cores for Smart Sharpen. More than all the 8 real CPU cores are used.