Hacker News new | past | comments | ask | show | jobs | submit login

I expect Photoshop to contain many highly optimized function routines for photo processing. These routines are optimized by hand and usually use architecture-specific features such as SSE/AVX which is not portable.

Unoptimized (more portable) versions of theses routines exists, but I suspect they will perform well even with M1.




Indeed. It's why Photoshop for Mac won't run an Ryzen systems - it's optimised to the point where it relies on specific Intel CPU instructions.


Kinda a cool benefit of having a Mac. Serious optimisations by developers.


The windows one likely have them, except they have the codepaths for all processors.


Yeah, restricting the hardware your software can run on is super cool!


This happens in Linux apps as well. Vendors like Discrete will have restrictions on what kernel version, which distro, what hardware that is really no different. With a Mac, you just don't have a choice on the hardware to install. On Linux, you have a choice, but only from the 2 options listed and you have to build it yourself.


>I expect Photoshop to contain many highly optimized function routines

Ah, I see you have never had the pleasure of using it.

Sarcasm aside, the whole Adobe suite makes atrocious use of your machines actual power, most is still single core. My machine can simulate the entire virtualized interactions of simulated light photons on glass on multiple GPUs in the time it takes photoshop to encode a GIF.

and you think "well maybe encoding the gif is more work?" yet try any GIF encoder written in pure Javascript and they still outperform Photoshop and also the 3D render.


> architecture-specific features such as SSE/AVX which is not portable.

I don’t have hands-on experience, but somewhere on HN I saw this: https://github.com/simd-everywhere/simde If starting a new cross-platform project today, I would try that library first, before doing the usual intrinsics.


This is probably true. But afaik photoshop allready ran on ios. So I would have expected it to take a couple of weeks at most.


A QA cycle probably takes 2 weeks.


I'd imagine that they would have been cautious with highly cpu tuned instruction flow after the PPC->intel migration.


I'd expect them to have moved on from hand assembly to things like halide-lang.org/ by now.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: