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