Idle event not firing whilst cycles is rendering

Hi - as per the title, I am seeing that whilst Cycles (ie. the Raytraced Viewport is selected) is rendering, the RhinoCommon Rhino.RhinoApp.Idle event is not firing until I pause the cycles render. Is this the intended functionality? It is quite an issue for plugins which rely on the idle event.



I think this may be due to the fact that the refresh mechanism provided by the realtime display integration mechanism posts events to handle the redraws. In this case it isn’t limited to Raytraced only, but to any render engine integrating though the mechanism. @andy, am I right in my assumption?

Thanks Nathan.

Any news on this one please @andy?

I also noticed that Cycles seems to use linear color mapping for point lights, whereas the Rendered mode uses RGB? Is this a bug in Rhino?





Another one…if you turn a point light off, and there are no other lights in the scene, you still get light, in both the Rendered and Raytraced mode.


I don’t see that here on either 6.25 or RhinoWIP. In 6.25 it looks like this

The same in Rhino WIP.

Yes, that is by design.

Anyway, please keep different issues in different topics, so these don’t get polluted and start going in tangents


Back on the original subject - having the Rhino viewport suppress the Idle event is a total killer for a plugin that replies on the Idle event to process changes. Is this able to be fixed please?




The Rhino Idle event is called whenever the WM_KICKIDLE message is fired in Windows. The trouble is that when Cycles is running, it’s constantly drawing - so it never goes idle.

  • Andy

@andy perhaps the Cycles integration could fire off a WM_KICKIDLE event every second or so. Plugins the rely on the Rhino idle event are pretty much unusable whilst Cycles is rendering at the moment.


@nathanletwory, can you review the above?

@dale this is something for the RDK to fix. Any integration will suffer from the same issue, not just Cycles. To make sure it doesn’t get lost I logged RH-58654

@pkinnane - this will be fixed in the next WIP. If you need it backported to 6.x, let me know once you’ve tested it in 7.

Thanks Andy.