I have noticed a strange behavior in the last few days. I’m using Sasquatch’s Objects by Selection to obtain the objects I select in Rhino. I match the selection with the Queried Model Objects using their GUID. From there, I can quickly assign Key/Value pairs.
As you can see, the entire script (excluding the lower Query Model Objects, which I left to indicate the size of the file that contains mostly curves) should take around 20 ms to compute.
However, what I am noticing is a half a second delay running the script.
I’ve run the video through Davinci Resolve and compared the frame where the yellow selection highlight is first visible and the one that shows the Gumball first.
Hiding the Result still has to be the best way to improve performance. It is concerning that the button goes away? Do you have a screenshot of that. My testing of 8.22 looks like this:
But even when the results are removed — and a button is connected to the Content Cache component to make up for the loss of the Push Content button, the delay is still the same. For this case, it makes on difference having the result output or not. Even without any outputs, the 0,5s delay is still there. So there’s definitely something broken here.
Tagging @kike since you’ll likely know what could be the problem here.
We can of course profile this thing. Although adding objects to the Rhino database does take some amount of time. It is one reason Grasshopper preview objects are quite a bit faster.
The Button turns on when an appropriate input is attached.
What I don’t understand is why Content Cache would delay selections in Rhino in my case even though its Content input is empty or the input button passes through an empty. There shouldn’t be a reason for the component to do anything here.
Yet I do see that sometimes there is a delay in R8 and even in the WIP and sometimes there isn’t. So maybe it is hard to reproduce on your end too. I’ve been using this method for a while and only noticed this delay for the last couple of days. In fact, I put my laptop to sleep yesterday while experiencing the delay (and the push button disappearing), continued to test just now, had the delay and when I tried to record it, it wasn’t there all of a sudden (under the exact same conditions). And the same goes for the Push Content button, which is no longer disappearing. So I think the two issues are related.
But even when there was a delay, adding a data dam in the script to delay the Content input by 0,25s, makes the component feel like there is almost no delay (while I am adding half of the delay that was there previously).
Sent the simplest possible Grasshopper script in for profiling. It did also lead to larger computation times (30-72 ms) with an empty input in a new file for me. But it remained somewhat inconsistent.
If anyone wants to test run it, give this script a try:
I saw it happen when I was investigating why the gumball takes a while to turn from black to the Red/Green axes when I’m clearly no longer hovering over it. Though it appears the gumball is still usable in this state, so the problem is mostly visual and not necessarily a usability problem.
Integrated accelerated graphics device with 5 adapter port(s)
This device is not being used
OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
GPU Tessellation is: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU’s maximum)
Anti-alias mode: 4x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High
Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 6-12-2025
Driver Version: 32.0.15.7680
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 8188 MB
My guess would be an older plugin that was compiled for Rhino 7 or even earlier (.netframework), these are still functional in .net 9 but are not in an optimal way.