Hi Robert,
> There isn't much to go wrong is this method, so I doubt there is a bug
> in it. I suspect the read queues are just being emptied really fast
> so you are missing when they are not empty. Or perhaps you are
> testing the wrong DatabasePager.
I think I've got the correct DatabasePager(?). This is a single view
application and I get hold of the DatabasePager in the following way:
osgDB::DatabasePager* pager = viewer->getDatabasePager();
Before the first frame is rendered I get the following debug info:
viewer->done()=false
pager->getFileRequestListSize()=0
pager->getDataToCompileListSize()=0
pager->requiresUpdateSceneGraph()=false
pager->isRunning()=false
pager->getNumFramesActive()=0
pager->getNumDatabaseThreads()=2
pager->getAcceptNewDatabaseRequests()=true
After the first frame and all consecutive frames I get the following states:
viewer->done()=false
pager->getFileRequestListSize()=0
pager->getDataToCompileListSize()=0
pager->requiresUpdateSceneGraph()=false
pager->isRunning()=true
pager->getNumFramesActive()=0
pager->getNumDatabaseThreads()=2
pager->getAcceptNewDatabaseRequests()=true
Only the state of DatabasePager::isRunning() changes to true and it does
not seems to go back to false again. I have "accidentally" managed to
get pager->getDataToCompileListSize() to return 1 once or twice, but
nothing I can base a while-loop on.
I guess I'll just have to trace my way through the debugger to find out
what I'm doing wrong, unless you have any further info to share.
Best regards,
John
Robert Osfield wrote:
Hi John,
On Tue, Oct 28, 2008 at 4:16 PM, John Vidar Larring
<[EMAIL PROTECTED]> wrote:
I was hoping this would work too, but
getDatabasePager()->getFileRequestListSize() _always_ returns 0 (zero).
So I am hoping that this is either a bug that can be fixed or that there is
another method for checking whether the DatabasePager is done / idle (!?)
There isn't much to go wrong is this method, so I doubt there is a bug
in it. I suspect the read queues are just being emptied really fast
so you are missing when they are not empty. Or perhaps you are
testing the wrong DatabasePager.
You could also check the getDataToCompileListSize() to see if it has
anything it in, and there isn't a present a DataToMergeListSize()
method which there should probably. The sum of all these would
probably be the thing that would test against to see if there isn't
pending in the pager.
Robert.
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
--
Best regards,
John
WeatherOne
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org