Control number of database pager threads from prop
Previously we were hardcoded to 2 database pager threads, one for files and one for http. This commit adds a new property /sim/rendering/database-pager/threads to control the number of threads on startup. It also re-orders the code to set the database pager so that such a setting has an effect.
This commit is contained in:
parent
ff5752d1dd
commit
ebe511439a
1 changed files with 6 additions and 4 deletions
|
@ -1435,20 +1435,22 @@ void fgStartNewReset()
|
||||||
|
|
||||||
sgUserDataInit( globals->get_props() );
|
sgUserDataInit( globals->get_props() );
|
||||||
|
|
||||||
|
unsigned int numDBPagerThreads = fgGetNode("/sim/rendering/database-pager/threads", true)->getIntValue(2);
|
||||||
|
|
||||||
if (composite_viewer) {
|
if (composite_viewer) {
|
||||||
composite_viewer_view->getDatabasePager()->setUpThreads(2, 1);
|
composite_viewer_view->setDatabasePager(FGScenery::getPagerSingleton());
|
||||||
|
composite_viewer_view->getDatabasePager()->setUnrefImageDataAfterApplyPolicy(true, false);
|
||||||
|
composite_viewer_view->getDatabasePager()->setUpThreads(numDBPagerThreads, 1);
|
||||||
composite_viewer_view->getDatabasePager()->setAcceptNewDatabaseRequests(true);
|
composite_viewer_view->getDatabasePager()->setAcceptNewDatabaseRequests(true);
|
||||||
flightgear::CameraGroup::buildDefaultGroup(composite_viewer_view);
|
flightgear::CameraGroup::buildDefaultGroup(composite_viewer_view);
|
||||||
composite_viewer_view->setFrameStamp(composite_viewer->getFrameStamp());
|
composite_viewer_view->setFrameStamp(composite_viewer->getFrameStamp());
|
||||||
composite_viewer_view->setDatabasePager(FGScenery::getPagerSingleton());
|
|
||||||
composite_viewer_view->getDatabasePager()->setUnrefImageDataAfterApplyPolicy(true, false);
|
|
||||||
osg::GraphicsContext::createNewContextID();
|
osg::GraphicsContext::createNewContextID();
|
||||||
render->setView(composite_viewer_view);
|
render->setView(composite_viewer_view);
|
||||||
render->preinit();
|
render->preinit();
|
||||||
composite_viewer->startThreading();
|
composite_viewer->startThreading();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
viewer->getDatabasePager()->setUpThreads(2, 1);
|
viewer->getDatabasePager()->setUpThreads(numDBPagerThreads, 1);
|
||||||
viewer->getDatabasePager()->setAcceptNewDatabaseRequests(true);
|
viewer->getDatabasePager()->setAcceptNewDatabaseRequests(true);
|
||||||
// must do this before preinit for Rembrandthe
|
// must do this before preinit for Rembrandthe
|
||||||
flightgear::CameraGroup::buildDefaultGroup(viewer.get());
|
flightgear::CameraGroup::buildDefaultGroup(viewer.get());
|
||||||
|
|
Loading…
Reference in a new issue