I’ve noticed that Grasshopper in Rhino 6 appears to have altered performance when compared to Rhino 5 and run a few tests which would be good to discuss.
This is benchmarked as follows:
- A basic, arbitrary definition where a box moves around in a circle with a random population of mesh spheres. The only plugin used is Human for the HUD (does not affect performance comparison). The definition is still functional without this and results can be displayed in panels.
- The computation time is measured (when the first component gets triggered, when the last component gets triggered)
- The refresh time is measured (the time taken for the definition to recompute and trigger the same component)
The refresh time is approximately 200% when comparing 6 to 5. The computation time is comparable.
Hence I suspect either:
- The display pipeline is slower, or
- The time taken to mark the solution as ‘complete’ is longer (to allow the timer to trigger another update)
Some other notes:
- Rhino 5.14.522.8390 vs Rhino 6.3.18090.471
- Windows 10, XPS13 9370 (no dGPU)
- 4K screen with 200% DPI scaling - this may be relevant
Attach screenshot of the definitions side-by-side, video example, and the definition itself.
perf.gh (16.7 KB)
EDIT: Further notes
- Disabling the display on both still shows 5 performing twice as fast as 6.
- Making the Rhino 6 viewport very small leads to the refresh time converging if geometry display in grasshopper is disabled (in my case to about 40ms). When geometry display is still enabled the performance is closer to the same, but 6 is still 20-30% slower than 5, regardless of window size.
- Attached new screenshot illustrating this effect. Note that as a snapshot the numbers vary and this is indicative only.