Prevent recalculating expensive Rhino.Inside grasshopper nodes

I have a fairly complicated gh script that queries Revit with maybe 15 different nodes. Each time I place anything, even just a panel for example, gh recomputes for 5-20 seconds and is basically frozen/flashing. From what I can see online, this is a known Revit issue and it can probably be controlled by adding data dams to “Query” type nodes.

While thinking about this I wanted to propose to devs an idea I had.

  1. Rhino.Inside could ship with a special boolean toggle called “r-i-toggle” or whatever.
  2. For each “expensive” Rhino.Inside node, there could be a simple function added to its code that acts kind of like a data dam to prevent the auto-recomputes. This function would check the r-i-toggle state and either dam the data for those nodes that have the function injected, or if True, let all data freely flow.

Hi Jmarsh,

The query components themselves should be very quick, its the filter elements that can be slow. The Revit way of handling these is to filter with ‘fast’ filters before the ‘slow’ ones.

Revit Filter list and explanation

1 Like

Hello, I noticed you mentioned even placing just a panel causes that… are you sure it’s not due to auto save?

You can also check by enabling the profiler to see which component take the most time and try replacing/optimizing the workflow