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