Hi,

You may want to try posting frame requests as windows messages (via
PostMessage()). Call frame() within the handler.

Regards,

Can


2009/4/20 Jesper D. Thomsen <[email protected]>

>  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
>
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to