RhinoCycles - Server Busy error

There’s a small inconvenience while using RhinoCycles caused by pressing escape or closing the render window during the phase where cycles is reporting “Uploading mesh x/y”.

This will cause a persistent popup:

Pressing either “Switch To…” or “Retry” or closing the “Server Busy” window will have no effect.

Thanks for the report. You’re probably uploading a huge mesh. I haven’t found yet a good solution to aborting render while large amounts of data are being uploaded (most notably mesh data and texture images). That said it should abort the render process once it gets through the data it was pushing to Cycles, if it doesn’t then there is a race condition somewhere. Either way, aborting during data upload needs to be improved.

/Nathan

This happened to me also. I had a situation like this when I set the render setting in Hi-res, perhaps high value DPI too.

Note: No texture was applied. A simple base material also cause this. Rhino geometry was not complex…

Yup - this is most notably when you’re using large meshes (not that it does not occur with small meshes: I cannot confirm this is size related other than that with big meshes the upload takes longer, and there’s a bigger chance to hit escape during that period, see also kevjin’s reply).

Hi @nathanletwory,

not shure if this is possible from your plugin but if you could set:

Rhino.Runtime.HostUtils.DisplayOleAlerts(False)

this would prevent this dialog from popping up.

c.

Thanks for the pointer @clement. But I think I’d like @stevebaer to chime in to tell if this is a practice we’d like to encourage for plugin developers…

/Nathan

I wouldn’t recommend using this function. Not having the busy dialog pop-up doesn’t really improve the situation.

Yes, I´d rather vote for something which does not pop-up the dialog and allows to really cancel the data upload with ESC.

c.

In short: The cancel will happen as soon as the current mesh data has been pushed. This definitely needs refining though, and is on my todo list.

Somewhat longer: Due to the way data upload to the renderer is currently set up it is impossible to abort a push of data once we’re out of the managed world into unmanaged C/C++ world of Cycles. When control gets back to RhinoCycles an abort event will be finally handled. This can be quite long if a data blob is being pushed that is huge.

/Nathan