Hi Robert,

Robert Osfield wrote:
Hi Peter and J.P,

Sorry for the long time that it's taken me to get back to reviewing
your code, I'm afraid I've been rather busy.  One of the items I have
been busy on has been a complete rewrite of the backend of Buffer
object and texture object support, that introduces support for manage
a pool of buffer objects and texture objects.

In particular the API and implement of buffer objects is different,
and one of the side effects "should" be more natural and robust
support for multiple graphics contexts.  Now I say "should" as I
haven't yet had the opportunity tested the theory that it's a better
design and implementation for multi-threading and multi-context work.
Would it be possible for you guys to dive in and test the latest OSG
in svn/trunk and see if it solves the problems you were originally
seeing?

The test app that I made no longer shows the problems I was getting. Good work, thanks! I also tried different threading modes and it seems OK. Will test in our app later.

I am getting a lot of info printed on the screen though (default notify level). E.g.

$ ./test -s -v
_maxTexturePoolSize=0
_maxBufferObjectPoolSize=0
_maxTexturePoolSize=0
_maxBufferObjectPoolSize=0
GLBufferObjectSet::GLBufferObjectSet _profile._size=240
GLBufferObjectSet::GLBufferObjectSet _profile._size=240
newTotalSize=264, _profile._size=240
GLBufferObjectSet::GLBufferObjectSet _profile._size=264
newTotalSize=264, _profile._size=240
GLBufferObjectSet::GLBufferObjectSet _profile._size=264
newTotalSize=288, _profile._size=264
GLBufferObjectSet::GLBufferObjectSet _profile._size=288
newTotalSize=288, _profile._size=264
GLBufferObjectSet::GLBufferObjectSet _profile._size=288
newTotalSize=312, _profile._size=288
GLBufferObjectSet::GLBufferObjectSet _profile._size=312
newTotalSize=312, _profile._size=288
GLBufferObjectSet::GLBufferObjectSet _profile._size=312
newTotalSize=336, _profile._size=312
GLBufferObjectSet::GLBufferObjectSet _profile._size=336
newTotalSize=336, _profile._size=312


If it doesn't then the fix will hopefully be just a bug fix, rather
than have to adapt the design as was previously required - as the
previous design was clearly broken for multi-threaded, multi-context
usage.  As the implement and the lower level API is so different
before any fix will require you to get your head around how the new
code works, as all your previous experience and understanding will
count for little, hopefully you'll find the design and implementation
a bit more well structured even if it's rather more complex than
before.

Thanks again.

BTW, how difficult would it be to use the new design for FBO's as well? I could maybe look into it if it is possible. The pool would be great here, cos Nvidia has some arbitrary limit for number of FBO's one can create on Linux.

jp



Thanks,
Robert.
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org


--
This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard. The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html.

This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks Transtec Computers for their support.

_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to