So what I understand is that you would like to be able to use OnIdle even when Idle is false, that is without using 100% of the CPU on the message loop thread, just by being called after each batch of window messages. Is that right?

That's right :)

As you may know, my app is indeed very much based on 3d with a lot of animations involved in response to user events, and the base flow is provided by the 'gamelike' OnIdle ticking when busy. However since the app is not haunted by evil creatures berseking for your disintegration (well not at this point at least) there are plenty of moments the app _knows_ there is nothing to do and could have a rest.

Changing the SysLoop in the way I describe allows to be able to switch from Busy to Iddle when apropriate and to be 'hired' again when something happens, using the same code path all, without requiring tideous invalidation checking, nor fixed framerate .

The code I posted works like a charm here form humming 300+ to 0 fps and still alive.

The only thing I see is a slight 'semantic' shift you should be aware, from :
 OnIdle orgignal : 'Beware overclockers, I'd melt your stuff'
to :
 OnIdle proposal : 'Gimme some Meat! Or leave me alone...'

Hope this helps clarifying ..

Lo.

_______________________________________________
https://mail.gna.org/listinfo/ngl-devel

Reply via email to