generative modeling for Rhino
I am also experiencing extremely slow GH canvas redraws...it's odd. Even when I have the solver locked and large portions of my definition disabled, it gums up whenever I add, remove, connect or change a component, taking several seconds before allowing me to perform the next operation. I am using a fair amount of geometry (a few thousand Breps)...but I'm surprised to find it so slow, even when locked/disabled. I've disabled the compass...any ideas?
If you're using the latest version the compass is no longer slowing down the redraw much, especially if you disable the compass bubbles in the Preferences.
I need to know whether every redraw takes a long time or whether there is a delay after changing the file only. How many frames per second are you getting if you use the Window->Canvas Redraw Speed menu?
I think you'll have to send me the file so I run some profilers, see where the bulk of the time is spend.
Okay, so when I run the canvas redraw, I'm getting perfectly healthy FPS values, 44 on a really big def and >140 on a small one, so I'm mistaken in calling my issue one with canvas redraw.
What's happening is that my larger definitions are actually locking up for a period of time, showing a spinning wheel and/or a not responding/grey-out condition directly after I drag a component onto the canvas, add or change a connector line, or change a variable in a component. In my more complex definitions, it will freeze up on pretty much any of these actions for several seconds (sometimes upwards of 10). It makes perfect sense to me when this happens after I change a value upstream of any calculations...but even in such instances the "solution completed" notification differs from when I can begin working on my definition again by an additional several seconds. I'm more curious as to why after a definition has been solved, making changes that don't relate to the solved action should freeze it up.
The amount of time is definitely correlated to the amount of geometry I have either referenced or generated in my definition, so I can work around it a bit by developing my defintions with smaller regions of my model geometry at any one time and then solving for the whole to test it out. I suppose I could send you my definition...but I'd hate to trouble you as it would have to include an Excel sheet, and I'm using Horster, Lunchbox, and probably a few other components from various sources like Kangaroo. I'm afraid I'm not the most elegant definition maker, either, so you'd have to avert your eyes.
There appears to be a redraw issue of the canvas when the solver is disabled. It doesn't update visually until the next thing happens. e.g. if you change an input to graft on the context menu the up arrow won't show until you click on the canvas or do something else.
...interesting. I do have quite a bit of geometry in my model, so I'd been using the wireframe + "only draw preview geometry for selected objects" option as I thought it would save redraw/computation time for me. But It turns out when I disable all preview geometry my speed issue goes away entirely. Any downstream object adding, editing, deleting creates no encumbrance.
I also have a slow canvas. It happens only on one machine. My work machine canvas speed is fast. My home machine (ATI 6950/ i5 3.7Ghz oc) the canvas drops to 17 fps with only 10 components on screen. It has to do with drawing the icons. If I zoom out to where the icons are not drawn, I get 70 fps with 70 or so components visible. Any thoughts?
Switch to Name Mode instead of Icon Mode. Is it still slow? I have no idea why bitmaps are drawn very slowly on that machine, but there's only one way to draw scaled bitmaps in GDI+ so if it's slow, it's just slow.