Hi Steve,

I find it very frustrating that the OSG isn't scaling as it should.
The basic design should scale, so I believe there will be some issue
with the implementation, most likely in high level context/swap buffer
management.

Of all your findings the following statement is one I think two are
particularly significant and worthy of further exploration:

> For example if the frame rate is 100 using one card, the frame rate
> drops to 50 for 2 cards and 25 for 4 cards in use.  If the
> application worked properly, the FPS would be 100 in all cases.

The interval nature of the performance drop is suggests to me that
something like the swap buffers is being serialized so that each swap
is happening on a different frame boundary.

Implementation wise the OSG uses a barrier that will be joined by each
context between each of the threads dispatches the swap buffers, it'd
be useful to test just how long that various threads are sitting at
the barrier, and also useful to look how long swap buffers is taken to
happen.

There are extensions for doing swap groups in GLX which the OSG
doesn't currently implement, this is something that is more critical
for single threaded multi-context applications, but perhaps it would
be useful even in the multi-threaded case.  Also I believe there is an
NVidia extension for GPU affinity that the OSG could implement.

>     * We have created a pure OpenGL threaded application which draws to
>       1, 2, 3, or 4 cards. There is no OSG involved. This application
>       runs properly, no degradation in FPS for multiple cards.

Any chance that you could publish this example?  How did you do the
threading?  How did you do the graphics context creation/swap buffers?

I still have features I'm working for the 2.9.11 release and bug
investigation work happening right now so I can't dive in and start
testing myself right away. Hopefully others in the community will be
able to help out in testing and implementing some of the swap and
affinity extensions.

Cheers,
Robert.
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to