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

Reply via email to