Hi @Dale,
I am revisiting this with more usage and testing of V6. The display speed improvement in V6 is phenomenal, but using what I currently have available via scripting I can’t take the full advantage of it. After more testing I can confirm that the Enable/Disable redraw always causes major slowdown compared to just rotating the view with the mouse or changing the view without enable/disable redraw. Obviously the slowdown culprit is redrawing the UI panels. It can be easily tested and compared with a simple box scene, when you have your Properties and Layers panel on (make sure there are some layers visible, the more the slower redraw is).
Here is a simple script that should help with testing this and seeing the difference, which is more than 2x slowdown (sometimes 6x or more slowdown depending on the model and panels content):
Redraw_vs_EnableRedraw.rvb (2.2 KB)
Even when working in FullScreen with no panels visible, using EnableRedraw/DisableRedraw is a slowdown compared to no redraw performance.
In most cases in our toolset I need to turn off the redraw because the camera or objects change is not a one-step, but several transformations before the view can be refreshed, so can’t avoid having to enable-disable redraw.
Here comes the wish:
Could we add a method that allows redrawing just the viewport or all viewports, without redrawing the rest of the UI?
Something of what I guess would be an equivalent of RhinoCommon:
scriptcontext.doc.Views.Redraw()
view = __viewhelper(view)
view.Redraw()
Having that would make it possible to take full advantage of the V6 new display speed improvement via RhinoScript, if possible to add to any of the upcoming SRs. Hope you find it a reasonable request.
Thanks,
–jarek