Hi Steve,
sorry, I might have asked this the previous time as well... Have you
checked the thread affinity of the different threads? Are they not bound
to a single CPU? AFAIR the osgviewer used to set its affinity and all
subsequent threads inherited it.
jp
On 13/12/10 22:51, Steve Satterfield 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.
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 can run four copies of the test program each drawing to a different
card, using a different core, and get the expected FPS. In this case,
4 copies run the same speed as 4, 3 or 1 copies.
* 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.
* 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.
* We have created a separate system using two Nvidia FX4600 cards
and experienced the same mis-behavior.
* We have tried numerous Nvidia drivers, from the most recent
to older drivers with the same mis-behavior.
* We have configured a system using two ATI Radeon HD 3450 cards
and get the same mis-behavior. This test eliminates the Nvidia
driver and OpenGL libraries as a source of the problem.
* We tried a version of the test program that uses separate copies
of the scenegraph for each camera, to eliminate contention on the data
in the scenegraph, but got the same results.
Looking at the results of our tests, its seems to indicate there is
some OSG problem preventing multi-threaded applications from running
properly on systems with multiple graphics cards (and multiple cores).
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.
Thanks,
Steve Satterfield, st...@nist.gov
John Kelso, ke...@nist.gov
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-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-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org