Ok, i solved it with osg::DisplaySettings::instance()->setNumOfDatabaseThreadsHint(5); osg::DisplaySettings::instance()->setNumOfHttpDatabaseThreadsHint(0); i am not sure this is the right way to implement our behavoiur but ...
adrian 2008/11/13 Adrian Egli OpenSceneGraph (3D) <[EMAIL PROTECTED]> > Hi Robert, > > I did a review of the HTTP and NON HTTP pager file read. I still use the > readNodeFile callback mechansim and this work. But for our > work, it's not only there a good idea to pass the custom code, because the > generation of the custom database (on the flow) doesn't > work as fast as the file read is. so if we are moving around over the > terrain, and once we come back to a position we still were, and > the database pager should read all files still generated and there is one > missing and unfortunately the missing one has the highest > prio it will take that one, then the other will not paged in as long as the > missing one is generating, but it should be loaded all others, > and once the missing once is generated it will immedently paged in. like > the http request, if it's in the cache then we can load it without > downloading, directly read in. > > so may we should change the mechansime, its not really general implemented: > > > you assume that we have only HTTP or NON HTTP, non http is no problem there > is only files. also cached ones and so. > but if we don't have http:// starting file names, you assume that it's a > file. but may it's a database request code for the tile gerneration > instead of a real existing file name, if we have such information, then we > should be able to check the "filename"/ "request" not only > against http:// starting string may we can append a user request qeueu and > a user thread to pregenerate / preread the files. we should only > have a method > > itr : Iterate over all QUEUEandThread (non http, http, user ) { > > if ( itr->requestForThisQueue(databaseRequest->_fileName)) { > > itr->queue.... > > } > > } > > Class QUEUEandThread { > > DatabaseThread _thread; > RequestQueue _queue; > > bool requestForThisQueue(std::string reqStr) { > // if HTTP queue is > return osgDB::containsServerAddress(reqStr) > } > } > > > so we would be able to append user requests queues very fast and the code > will be more general for future task. > > /adrian > > 2008/11/12 Robert Osfield <[EMAIL PROTECTED]> > >> Hi Adrian, >> >> >> On Wed, Nov 12, 2008 at 6:39 PM, Adrian Egli OpenSceneGraph (3D) >> <[EMAIL PROTECTED]> wrote: >> > Ok i see, so you would append a custum reading thread to the osg >> database to >> > avoid subclassing. >> >> There shouldn't be any need for a custom reading thread, just use the >> existing threads to call you code via the osgDB::readNodeFile >> mechanism - just put your code in a plugin and let the OSG call it. >> >> Robert. >> _______________________________________________ >> osg-users mailing list >> osg-users@lists.openscenegraph.org >> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >> > > > > -- > ******************************************** > Adrian Egli > -- ******************************************** Adrian Egli
_______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org