On Mon, Dec 13, 2010 at 9:51 PM, Steve Satterfield <[email protected]> wrote:

>
> Hi,
>
> I would like to update the discussion we started back in October
> regarding an apparent problem scaling OSG to multiple windows on
> multiple graphics cards. For full details on the previous discussion
> search the email archive for "problem scaling to multiple cards".
>
> Summary of the problem:
>
>    We have a multi-threaded OSG application using version 2.8.3.  (We also
>    ran the same tests using version 2.9.9 and got the same results.)  We
>    have a system with four Nvidia FX5800 cards (an immersive cave like
>    config) and 8 cores with 32 GB memory.
>
> Are you using Linux?

>    Since the application is parallel drawing to independent cards using
>    different cores, we expect the frame rate to be independent of the
> number
>    of cards in use.  However, frame rate is actually X/N where N is the
>    number of cards being used.
>
>    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.
>
>
> We have tried a number of things to isolate the problem:
>
> ...

>     * 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.
>
> Could you share the source of this program?

>     * When we set OSG_SERIALIZE_DRAW_DISPATCH to OFF (default is ON)
>       the total FPS actually drops. Watching the graphical statistics,
>       the DRAW is clearly running in parallel, but is actually a bit
>       slower than when the DRAW is serialized.
>
>       While this behavior is consistent with the messages posted by
>       Robert in August 2007 (search for OSG_SERIALIZE_DRAW_DISPATCH),
>       its not what one would think should happen. Specifically, it
>       seems counter-intuitive that serialized DRAW is faster than
>       parallel DRAW.
>
> It is paradoxical. That it works at all is do to the fact that, with vsync
enabled, all GPU activity is buffered up until the after the next
SwapBuffers call.
...

> OSG is a critical component to our immersive virtual reality
> environment.  Our scientific visualization applications are continuing
> to demand more and more performance. We need multi-threading to work
> properly.
>
> What experiences are others with multiple cards having regarding
> multi-threading? If anyone is interested, we can send our test program.
>
> We would very much appreciate any help or suggestions on solving this
> problem anyone can offer.
>
I put together a multicard system specifically to look at these issues, and
I too am very interested in getting it to work.

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

Reply via email to