Hi Tim,

On Nov 26, 2007 1:10 PM, Tim Moore <[EMAIL PROTECTED]> wrote:
> In revision 7017, which introduced the ability to compile OpenGL buffers 
> using pbuffers,
> it looks like you make GL object compilation happen in the pager thread if 
> the pbuffers
> aren't available, and you override the checks for available time and maximum 
> objects with
> compileAllGLObjects(). It would seem that these two things would guarantee 
> dropped frames
> when paging in scenes that have large individual requests. Am I missing 
> something, or is
> it vastly preferred to do the object compilation in pbuffers? I've only 
> played with that
> a little, but wouldn't seem to be very useful unless you have more than two 
> processors.

You must be misreading the code, compilation of OpenGL objects can
never happen from within the paging thread - it doesn't have a
graphics context to do such a thing, the compilation is either done by
any the threads running pbuffers that are available or the graphics
threads drawing the actual graphics windows themselves.  If one
attempted to compile from within the paging thread then the app would
crash.

As for preference of pbuffers, we'll its not selected by default so
there isn't a preference for it in terms of the OSG.  In your own app
you may find pbuffer and associated graphics threads are effective,
this will depend upon the hardware you have, the quality of the OpenGL
drives (and their ability to handle multi-threaded usage) and the
nature of your models.

In general paged databases with lots of geometry and textures to load
per tile load will work better with a back ground compile context (
pbuffer and associated thread) if you have the CPU resouces to support
it.

Robert.

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

Reply via email to