Hi, I can confirm the behaviour with the following test case: https://github.com/fwiesel/vertexarrayfunctest/blob/threads/main.cpp#L92-L103 All threads run on CPU 0.
That clears up the mystery, which baffled me and two of my colleagues: After upgrading to a new Ubuntu version, suddenly our application making heavy use of the Intel Thread Building Blocks failed to scale with the cores. Explicitly initialising the TBB early in the program solved the issue, so we blamed some change in TBB, and I didn't investigate further. It looks like OSG was previously packaged with QtThreads instead of pthreads, making the affinity operations a no-op, while the newer doesn't. In the light that it affects any child thread, can I ask you to re-consider the affinity handling, and/or maybe rename osgViewer::ViewerBase::SingleThreaded to osgViewer::ViewerBase::SingleThreadedCpuLocked or something? I understand, that it is possible to override the behaviour (which I did now), but that requires some internal knowledge of the library, which you obviously have. But for me as a user, where OSG is simply one of the libraries I use, I would not it effectively to change the behaviour of a second one. Thanks, Fabian _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org