[osg-users] SingleThreaded leading to whole application just running on one core

Christoph Weiss weiss at wsoptics.de
Fri Sep 23 00:42:08 PDT 2016

Thank you so much for pointing this out, Pete.  So in 
ViewerBase::setUpThreading() osg decides the whole application should be 
confined to a single core.

Judging by your comment, this has already been discussed and not deemed 
a fault that should be fixed?

Also, I suppose there is no way to it portably? 
Thread::setProcessorAffinity() only allows restricting to a single core 
and has tons of ifdefs, so I guess I need to handle every cross 
compilation target individually?

Thanks again, I really hope this behavior can be changed in a future 


Mit freundlichen Grüßen,

Christoph Weiß

WSoptics GmbH
weiss at WSoptics.de
+49 8868 181 997 3
Zugspitzstraße 9
86972 Altenstadt

HRB 204558  Gerichtsstand: München B  Ust.Id.Nr.: DE289079930
Geschäftsführer: Florian Sepp, Dr. Christoph Weiß

On 09/23/2016 06:25 AM, Pete Black wrote:
> This is, bizarrely, by design.
> In single-threaded mode, OpenSceneGraph silently sets CPU affinity to a single core by default. Personally I think this is incredibly obtrusive on the programmer, and the reasons for this being default behaviour are terrible, but it is what it is.
> This is what I do:
> Code:
> #ifdef LINUX
>     int numCPU = sysconf( _SC_NPROCESSORS_ONLN ); //glibc fails 'all ones' cpu masks so we need this sysconf call
>     cpu_set_t  mask;
>     CPU_ZERO(&mask);
>     for (int i = 0; i < numCPU ; i++)
>     {
>         CPU_SET(i, &mask);
>         //qDebug("SETTING CPU %d",i);
>     }
>     int ret = sched_setaffinity(0, sizeof(mask), &mask); //override OpenSceneGraphs shitty CPU affinity stuff
>     //qDebug("CPU COUNT: %d %d",CPU_COUNT(&mask),ret);
> #endif
> ------------------
> Read this topic online here:
> http://forum.openscenegraph.org/viewtopic.php?p=68702#68702
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

More information about the osg-users mailing list