🐛 BUG - Creating Rhino Material With Name Referenced In GH Freezes

Hi @kike and @andyopayne,

I trigged a “freeze” or rather VERY slow behavior I am calling a freeze.

To repeat:
-Cache a larger number of geometry objects such as 1,400
-Have the Model Object node use a referenced Model Material for it’s Render Material
-Ensure this is in a blank document where this material does not yet exist in Rhino
-Leave the Grasshopper script running and attempt, in Rhino, to create a new material that matches this Query Model Material name input.
-Rhino/GH will slow to the point of freezing and a green loading bar appears under the Content Cache component and sloooowly progresses.

Some imagery below:

Grasshopper, note that “Satin Copper” is referenced as the Name input for Query Model Material but does not exist in the Rhino Document yet.

30 min later:

Script solver is active.

Created a new material of type “Metal” and named to “Satin Copper”, note that the screen snip here is what Rhino is frozen on after committing the name change to Satin Copper:

Grasshopper/Rhino freezes, green loading bar shows up under Cache component and it does progress but a bout 1% a minute and RAM usage of Rhino jumps to 54% in task manager.

System Info

Rhino 8 SR19 2025-4-22 (Rhino 8, 8.19.25112.13001, Git hash:master @ 0fe5f551e3e34ca51834ba0ca2217647d8027942)
License type: Commercial, build 2025-04-22
License details: Cloud Zoo

Windows 11 (10.0.26100 SR0.0) or greater (Physical RAM: 64GB)
.NET 7.0.20

Computer platform: LAPTOP - Plugged in [98% battery remaining]

Standard graphics configuration.
Primary display: DisplayLink USB Device (DisplayLink) Memory: 0MB, Driver date: 12-18-2024 (M-D-Y).
> External USB display device with 4 adapter port(s)
- Windows Main Display attached to adapter port 0
Primary OpenGL: NVIDIA GeForce RTX 3080 Ti Laptop GPU (NVidia) Memory: 16GB, Driver date: 11-6-2024 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 566.14
> Integrated accelerated graphics device with 4 adapter port(s)
- Video pass-through to primary display device

Secondary graphics devices.
Intel(R) Iris(R) Xe Graphics (Intel) Memory: 1GB, Driver date: 10-26-2022 (M-D-Y).
> Integrated graphics device with 4 adapter port(s)
- There are no monitors attached to this device. Laptop lid is probably closed
DisplayLink USB Device (DisplayLink) Memory: 0MB, Driver date: 12-18-2024 (M-D-Y).
> External USB display device with 0 adapter port(s)
- There are no monitors attached to this device. Laptop lid is probably closed

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
GPU Tessellation is: On
Redraw scene when viewports are exposed: Off
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: 11-6-2024
Driver Version: 32.0.15.6614
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 16 GB

Rhino plugins that do not ship with Rhino
C:\ProgramData\McNeel\Rhinoceros\7.0\Plug-ins\Datasmith Rhino Exporter (d1fdc795-b334-4933-b680-088119cdc6bb)\DatasmithRhino7.rhp “Datasmith Exporter” 5.1.0.0
C:\Program Files\Enscape\Enscape.Rhino.Plugin-net48\Enscape.Rhino8.Plugin.dll “Enscape.Rhino8.Plugin” 4.2.1.88
C:\Users\micha\AppData\Roaming\McNeel\Rhinoceros\packages\8.0\Crash\1.4.2-beta\Crash.rhp “Crash” 1.4.0.0
C:\Users\micha\AppData\Roaming\McNeel\Rhinoceros\8.0\Plug-ins\D5LiveSync (e0d5e210-02f6-4ee9-a2b0-1675e225d958)\D5Conv.rhp “D5 Live Sync for Rhino”

Rhino plugins that ship with Rhino
C:\Program Files\Rhino 8\Plug-ins\Commands.rhp “Commands” 8.19.25112.13001
C:\Program Files\Rhino 8\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 8\Plug-ins\RhinoRenderCycles.rhp “Rhino Render” 8.19.25112.13001
C:\Program Files\Rhino 8\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 8.19.25112.13001
C:\Program Files\Rhino 8\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 8\Plug-ins\MeshCommands.rhp “MeshCommands” 8.19.25112.13001
C:\Program Files\Rhino 8\Plug-ins\IronPython\RhinoDLR_Python.rhp “IronPython” 8.19.25112.13001
C:\Program Files\Rhino 8\Plug-ins\RhinoCycles.rhp “RhinoCycles” 8.19.25112.13001
C:\Program Files\Rhino 8\Plug-ins\Grasshopper\GrasshopperPlugin.rhp “Grasshopper” 8.19.25112.13001
C:\Program Files\Rhino 8\Plug-ins\RhinoCode\RhinoCodePlugin.rhp “RhinoCodePlugin” 8.19.25112.13001
C:\Program Files\Rhino 8\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 8.19.25112.13001
C:\Program Files\Rhino 8\Plug-ins\3dxrhino.rhp “3Dconnexion 3D Mouse”
C:\Program Files\Rhino 8\Plug-ins\Displacement.rhp “Displacement”
C:\Program Files\Rhino 8\Plug-ins\SectionTools.rhp “SectionTools”

Thank you all!

1 Like

Hi Michael,

I wasn’t able to repeat with the instructions provided in 8.20.25112.06001.

Can you try again with my file but starting Rhino in Safe Mode?
R8-Material-Rename-Test.gh (14.9 KB)

Thanks @Japhy,

If you could send me a 8.20 build I’ll gladly test on that.

I was able to reproduce the issue with the script you shared in my 8.19 build.

Here’s a video of it happening:

Thanks for your help!

Sending.

I’m at around 3 seconds. I would be interested in seeing if there is any differences without 3rd party plugins running.

Increasing the amount of objects does seem to affect the time exponentially. Doubling to 3000 goes to 14 seconds.., still waiting on the 6000 object try.

1 Like

This makes sense based on what I am seeing on my end for the slowness as well. Thanks for testing

This is fixed on 8.20.

Now 10.000 items are pushed in ~1.6s.

1 Like

:flexed_biceps: thank you sir!