Hi all, I have a somewhat irritating error in Vista (and to a lesser degree 
Windows XP).

I'm using OSG 2.6.1 to render a viewport in an MFC application (built in Visual 
Studio 2005 SP1). I'm running in single-threaded mode (although I have tried 
multithreaded also without any luck). I'm manually calling frame when I want 
the viewport to be updated rather than using run(), as I don't want to waste 
cpu/gpu on redrawing a stationary viewport. My problem is that when I have a 
somewhat complex model loaded, the cpu-load on the single core sometimes spikes 
out at maximum load when doing updates fast (such as during a fast drag). When 
this happens the machine often freezes the OSG viewport (and the cpu load 
continues at maximum for a single core). In Vista I have to terminate the 
application, but in Windows XP I can change focus to another application window 
and the viewport returns to normal (0% cpu load) when I switch back to my 
application.

I'm all out of ideas as to exactly why this happens, as I don't completely 
understand if I'm allowed to call frame() rapidly or not. I'm looking for a 
function which can tell me if the previous frame() has completed, in order to 
not call a new frame() before the previous is done. I don't believe this should 
be necessary, but I have obviously done something to offend OSG :)
Any ideas or insights will be much appreciated.

regards, and thanks in advance.

Jesper D. Thomsen

_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to