Chris,

Thanks for the very useful suggestions.  Here are the results:
TRIALS
T1) set OSG_DATABASE_PAGER_DRAWABLE=VBO, No significant results
T2) set OSG_DATABASE_PAGER_DRAWABLE=VA, Paging occurs significantly faster
WOAH!  Still get the frame rate hitches, though.  Argh!
T3) set OSG_DATABASE_PAGER_DRAWABLE=DL, No significant results

INVESTIGATION
I uncommented some code in DatabasePager::run(), that prints out the time it
took to read the paged node.
osg::notify(osg::NOTICE)<<"     node read in
"<<osg::Timer::instance()->delta_m(before,osg::Timer::instance()->tick())<<"
ms"<<std::endl;

It looks like any time hitching occurs, a node took over 600ms to load.
Since it seems to occur around the same areas in the database, I'm going to
investigate certain tiles causing the problems. 

QUESTIONS
Q1) Does anybody know the advantages/disadvantages of using VBO, vertex
arrays, or display lists for drawables?  Since vertex arrays seem to page in
faster, I am considering using them.

Thanks, I wish I could email you a beer.


>From: Chris Hanson <[EMAIL PROTECTED]>
>Reply-To: osg users <[email protected]>
>To: osg users <[email protected]>
>Subject: Re: [osg-users] Paging performance on Windows
>Date: Thu, 17 Aug 2006 21:14:49 -0600
>
>Zach Deedler wrote:
>>5) Given TRIAL4, seems like a #ifdef WIN32 problem, or limitation 
>>in the OS (I'm still unwilling to accept this)
>
>   Interesting. Something doesn't seem right.
>
>>Isn't the code in OsgSceneHandler supposed to prevent paging from 
>>occurring for long periods of time?
>
>   Essentially. The loader thread only runs when the draw thread has 
>extra time available. But, if you are using displaylists, the 
>compile of the displaylists has to happen in the main draw thread 
>that has access to the GL context. This operation can not be 
>interrupted once started, and the amount of time it will take can 
>not be precisely calculated in advance. My initial guess is that 
>something is going bad here. Can you disable displaylists and see if 
>it makes any difference?
>
>   I have no explanation for why it would work differently on Linux, 
>but there are many differences at all layers of the 
>system/drivers/etc.
>
>>Thanks.
>
>--
>Chris 'Xenon' Hanson aka Eric Hammil | http://www.3DNature.com/ eric 
>at logrus
>  "I set the wheels in motion, turn up all the machines, activate 
>the programs,
>   and run behind the scenes. I set the clouds in motion, turn up 
>light and sound,
>   activate the window, and watch the world go 'round." -Prime 
>Mover, Rush.
>_______________________________________________
>osg-users mailing list
>[email protected]
>http://openscenegraph.net/mailman/listinfo/osg-users
>http://www.openscenegraph.org/

_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to