On 7/6/06, Don Burns <[EMAIL PROTECTED]> wrote:
Hi Aaron,

 My suggestion to you would be to use persistent connections and do some
benchmarking to see if there is a good speed up.  Then submit these for
check-in.

 My feeling is that to really have good network performance, something other
than the http protocol is in order.

 -don


On 7/5/06, Aaron Rolett <[EMAIL PROTECTED]> wrote:
> Hi all,
>      I'm currently writing an openscenegraph program that makes very
> heavy use of paged lods and the net plugin to pull in remote data.
> However, I'm finding that the performance is just awful when pulling
> down ives/pngs from remote servers.  Both ends of the connection are
> on fairly high bandwidth connections (400kbs downloads between the
> two).
>
> So ... I want to work on improving the network connection / loading
> and I would like to do it in such a way that there is a possiblity
> that my changes would get merged back into the main openscenegraph
> source tree at some point. There seem two problems that are causing
> the slow down at this point in time. The first is that the net plugin
> uses http 1.0 (no persistant connections) and reopening tcp
> connections to remote servers is quite costly. The second is that only
> one request is happening at a time (if there are 4 pagedlod children
> ... it *seems* like they are requested from the webserver one after
> another instead of in parallel).
>
> My ideas for countering these two issues:
>      For the net plugin ... we could have several persistant
> connections open at once ... ready to be used. Would it be ok to
> depend on an external http 1.1 library to do this? Right now a single
> connection is opened and closed for each read. What I'm thinking of
> instead is several open tcp connections through which requests are
> made. In terms of actually impelmenting this in the plugin ... I'm
> guessing we would need to add some new options --- like
> usePersistantConnection and
persistantConnectionTimeout=(seconds).
>
> The second issue seems like it would require changing the
> DatabasePager. The goal would be to make the Pager try and pull in
> several of the new levels of detail from the remote webserver at the
> same time. It *seems* like this would involve changing the run() loop
> try so that more than one file could be grabbed at a time.One thing
> that looks like it might be an issue is that readNodeFile might not be
> thread-safe (according to a comments on line 509 in
> DatabasePager.cpp). Is this true? If so how could I go about bringing
> in several pagedlod children at once?
>
> Is this the best place to implement these changes?
>
> I'd love to hear comments from people as I would like to do this the
> *right/tidy* way if at all possible.
>
> Cheers!
> Aaron
>



I am also very interested by these changes, if I can it would be a
pleasure to help you.

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

Reply via email to