[osg-users] DatabasePager - Display list compilation
robert.osfield at gmail.com
Tue Oct 2 02:37:32 PDT 2007
You have complete control over the number of objects to compile so
feel free to up this to something suitable for your scene. Secondly
there is time limit applied as well as the maximum number of items in
which case it'll limit things even if the number of object count is
set too high. Thirdly you could consider the compile context support
in osgViewer/DatabasePager that allows a seperate pbuffer and
associated thread to do the compile for you.
On 10/2/07, Lionel Lagarde <lionel.lagarde at oktal.fr> wrote:
> When the database pager is requested to compile the paged drawables, (in
> the DatabasePager::compileGLObjects method) it calls the
> compileGLObjects method of the drawable contained in the DataToCompile map.
> This method delete the display list of the drawable if it already exists.
> In the case of multi instance paged drawables (trees for example), the
> database pager compile and recompile and rerecompile the same drawable
> for each request.
> It takes time and eats the _maximumNumOfObjectsToCompilePerFrame counter.
> Maybe the FindCompileableGLObjectsVisitor can check if the drawable has
> already been compiled.
> The same thing can be made for texture compilation. They are not
> re-uploaded in the video memory if the image hasn't been modified by the
> DatabasePager try to compile them and
> eat the _maximumNumOfObjectsToCompilePerFrame counter.
> I don't see in the code where the VBO geometries are compiled. The VBO
> creation is integrated in the Geometry::drawImplementation method. The
> compilation is delayed in the rendering traversal. For big VBOs, it
> causes frame drops because the everything that is in the render
> graph is compiled.
> It would be great if the VBO compilation can be decorrelated of the draw
> osg-users mailing list
> osg-users at lists.openscenegraph.org
More information about the osg-users