Processing on M1 / Pro / Max; how to go about optimising performance?

Hi friends,

I guess we could see this one coming, but what is your experience running Processing on the new chipsets? I’ve recently taken receipt of a new 16" MacBook Pro with the 32 core M1 Max, but must admit that I’m a little disappointed to see no performance gain whatsoever out of the box on my sketches, upgrading from a 2018 Intel MB.

The good news is that this experience immediately has boosted my interest in learning how to better debug performance in my sketches. I’m pretty sure most of my sketches are CPU limited, but could anyone help me on my way of figuring out more about GPU utilisation in Processing for instance?

Also keen to learn how Processing would go about the multiple CPU cores. I’m assuming it doesn’t, which would also explain the lack of performance, unless you write multi-threading code yourself?

Very interested to hear about experience of other M1 users, and non-M1 users who know how to write performant code, of course. :wink:

Cheers,
T

1 Like

Good luck with that, currently I think there are too many obstacles in the way (like processing.org is currently relying on the Apple rosetta 2 solution). Apple have already deprecated OpenGL (who knows when they will remove support entirely), nevertheless work is underway to support native access but it is early days yet. I have read predictions from IT press that rosetta 2 solution will last until at least 2023, by which time Apple will have migrated entirely to Arm processors. OpenGL is getting long in the tooth (and the Mac version has not been updated in ages). It seems Vulkan is the natural cross platform successor (apparently even RaspberryPI is getting compliant), but Apple won’t play ball. There is Molten, which apparently will provide an interface to Apples Metal, however I cant see any of this a being easy…

Ha, nevermind… I was fooled by the frameRate counter not quite making it to 60, but instead sticking around 55-58fps. Odd, as it seems its got plenty of headroom…