Added setting of the DatabasePager's affinity.

This commit is contained in:
Robert Osfield
2007-02-08 11:24:29 +00:00
parent 0f4cd568f6
commit 6d323f235a

View File

@@ -807,6 +807,17 @@ void Viewer::stopThreading()
}
int numProcessors = OpenThreads::GetNumberOfProcessors();
bool affinity = numProcessors>1;
if (affinity)
{
OpenThreads::SetProcessorAffinityOfCurrentThread(0);
if (_scene.valid() && _scene->getDatabasePager())
{
_scene->getDatabasePager()->setProcessorAffinity(1);
}
}
_threadsRunning = false;
_startRenderingBarrier = 0;
_endRenderingDispatchBarrier = 0;
@@ -987,7 +998,7 @@ void Viewer::startThreading()
int numProcessors = OpenThreads::GetNumberOfProcessors();
bool affinity = true;
bool affinity = numProcessors>1;
Contexts::iterator citr;
@@ -1154,8 +1165,18 @@ void Viewer::startThreading()
}
}
if (affinity) OpenThreads::SetProcessorAffinityOfCurrentThread(0);
if (affinity)
{
OpenThreads::SetProcessorAffinityOfCurrentThread(0);
if (_scene.valid() && _scene->getDatabasePager())
{
#if 0
//_scene->getDatabasePager()->setProcessorAffinity(1);
#else
_scene->getDatabasePager()->setProcessorAffinity(0);
#endif
}
}
#if 0
if (affinity)
@@ -1167,8 +1188,6 @@ void Viewer::startThreading()
titr->first->setProcessorAffinity(titr->second);
}
}
if (affinity) OpenThreads::SetProcessorAffinityOfCurrentThread(0);
#endif