I just purchased a new MacMini with the M4 pro processer and the max 64GB. It’s essentially the most powerful Mac I could get short of getting a Pro. Everything is as up to date as it can be running Rhino 8.
I purchased it specifically to use Rhino/GH … but it crashes and performs poorly on some of the most basic tasks.
The performance seems variable. It was able to handle meshes and complex booleans at first, however, today it became impossible to do much with vector fields in grasshopper and, at times, even the most basic tasks (drawing a curve) make it slow down - but not in any consistent way.
To check, the activity monitor never seemed to spike and I was able to do complex manipulations of 1000x1000x1000 matrices in MatLab.
I was initially using it on my MacBook Air which, understandably, is not high-power but, that said, the performance is so poor on the new Mac that I’d like to return it if there are no solutions. \
Is this a problem with the software - or is there some resource which will help me better use the computer specifically for Rhino/GH ? Again, I also use MatLab for high complexity applied math and the performance is fine.
Any advice would be greatly appreciated. I spent $3k for the new computer and really don’t need it otherwise.
For me grasshopper doesn’t feel any faster in the last 10 years - no matter what machine i used on - maybe an improvement here and there when nodes got multi threaded, but in general - its kinda the same since forever (mac and pc) - and has a reasons, but it doesnt mean GH cant be fast:
As far as grasshopper is concerned - neither the display pipeline nor most the nodes profit from most the stuff a new macbook brings you.. but it is good to understand the three main places things slow down:
Computation - is the process inside the component complex and takes time? (duh!)
Data Flow - if things are exposed as lists, things slow down when you operate with 100k+ of entries. This is the nature of GH, but with Scripting components that can be worked around as you wrap the data before sending it along - so i can send a 100mb float array between nodes in 5 milliseconds instead of 2 minutes.. but that means processing everything in c#
Display vector fields etc. draw quite fast as they batch process the data, but if drawn ‘per entry’ things get slow.. What i do is often wrap the data i want to display into a pointcloud (c#) and then i can have a million or more points live updating at 30+ fps..
In other words - GH is very slow as it works with reflection and very friendly data handling (auto-casting etc.) - It is a trade-off. But when using it as a visual programming environment - so basically all c# nodes (can be written directly in grasshopper - no compiling, plugins etc.) it can be a very fast tool..