there is a very annoying issue I run into in grasshopper, when my definitions get larger:
The gh-interface keeps getting slower and slower, so connecting ANY component with another - be it just a slider which is being connected with a panel can take seconds sometimes.
Now I am working on a new project and the same thing is starting to happen again, the interface is already a bit slower, but is bearable, so I thought it is the right time to post here, before it gets worse.
Is this a known issue, are there any workarounds (clustering, wire-preview options etc.)?
Is your issue due to massive amounts on components (laggy UI), or is it due to calculation time?
@danielbent
The first half is good, the rest is micro-optimisation and rather irrelevant. The best advice when it comes to performance is using the right algorithm. Math,Logic and Knowledge are your best friends
Btw, I was recently working on a quite big definition, and the inferface got so slow that it took around 2-3 seconds to connect components - interestingly, by copy pasting the definition into a new file, everything worked perfectly fast… until I saved it as a new file - then it was slow again.
So because I didnt knew any better I just kept creating new files…
…maybe this can give some hints to the underlying problem
I don’t usually stitch them back together, kind of would defeat the purpose. I do things like bake out of one definition, reference into another definition. Or use stuff like the data input and output components. You could also use plugins like human which have nice ways to bake and reference to/from specified layers.
As Michael suggests, splitting up the definition into logical parts makes a lot of sense. If that isn’t possible for some reason, and you happen to have a lot of internalized geometry (probably not a good idea in hindsight), then watch out for the autosave on wire events.
We had a summer school workshop two years ago with a large design-for-manufacturing workflow that was accepting internalised geometry from other definitions. It turned out that the large amount of internalised data in the parameters, connected or not, was taking a while to save, resulting in a very frustrating definition. Turning off the autosave on wire events helped right away, as a temporary solution.