HI Tugkan, On 2/2/07, Tugkan Calapoglu <[EMAIL PROTECTED]> wrote:
Hi Robert, Processor affinity works in 9.3. I have a small application that lets me set the affinity of threads from console. With that I made a test. I see two OSG threads in ThreadPerCamera mode ( btw also in thread per context there are two threads. Do I have two contexts?? ).
ThreadPerContext will have one thread for the graphics context and the main application thread. The difference between ThreadPreContext and ThreadPerCamera is where the cull happens, the ThreadPerContext the graphis thread does both the cull and draw, in the ThreadPerCamera the cull is done on the main thread, and only the draw done of the graphics thread. For multiple graphics card systems ThreadPerCamera will run multiple threads, one thread per camera to do cull. There will also be the option to use the main thread for one of the culls. I'm not yet clear on what the best name will be for these different threading models.
When I lock the two threads to different CPU's performance does *not* change but the serialization problem disappears. Cull and Draw work always parallel.
I suspect the problem is that the current code that attempts to set the affinity for the main thread isn't reliable. I had to add in some extra API to OpenThreads so be able to set the affinity for the main application thread. What tool are you using to monitor and change affinity of the threads? Its sounds something that would be useful.
Also when I change the threading modes I don't see much difference in the performance of cull and draw.
This suggests that performance bottleneck isn't pure CPU performance - its may well be that memory bandwidth and latency is the bottleneck, or the OpenGL fifo being filled and blocking things. I don't think the GPU itself will be bottleneck.
Looking around with small angular changes don't change anything. To be sure we'll need to wait path saving though.
You can still save paths in osgproducerviewer and reuse these in osgviewer using: osgviewer mymodel.ive -p saved_animation.path
I've attached xorg.conf .
Boy there is few extra options since I last updated drivers and tweaked xorg.conf.
I have two graphics cards but SLI is disabled and only one of the cards' outputs are used.
Using twin view on a dual card system is a bit of shame, unleash the poor machine - configure it so that each card has a single ouput. There are example configs up on the OSG wiki. You can mix and match twin view and dual cards as well - I have four cards in front of me for testing just this set up. I haven't tried it with osgViewer yet though... Will post pics once I have. Robert. _______________________________________________ osg-users mailing list [email protected] http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
