From fe67a91e8327e9d97466a61342774f1e097ff234 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Tue, 13 Feb 2007 16:03:35 +0000 Subject: [PATCH] Added OSG_THREADING environmental variable to osgViewer::Viewer::suggestBestThreadingModel --- src/osgViewer/Viewer.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/osgViewer/Viewer.cpp b/src/osgViewer/Viewer.cpp index 3ffcf40d1..4551027af 100644 --- a/src/osgViewer/Viewer.cpp +++ b/src/osgViewer/Viewer.cpp @@ -947,8 +947,19 @@ struct ViewerRunOperations : public osg::Operation } }; +static osg::ApplicationUsageProxy Viewer_e0(osg::ApplicationUsage::ENVIRONMENTAL_VARIABLE,"OSG_THREADING ","Set the threading model using by Viewer, can be SingleThreaded, CullDrawThreadPerContext, DrawThreadPerContext or CullThreadPerCameraDrawThreadPerContext."); + Viewer::ThreadingModel Viewer::suggestBestThreadingModel() { + const char* str = getenv("OSG_THREADING"); + if (str) + { + if (strcmp(str,"SingleThreaded")==0) return SingleThreaded; + else if (strcmp(str,"CullDrawThreadPerContext")==0) return CullDrawThreadPerContext; + else if (strcmp(str,"DrawThreadPerContext")==0) return CullDrawThreadPerContext; + else if (strcmp(str,"CullThreadPerCameraDrawThreadPerContext")==0) return CullThreadPerCameraDrawThreadPerContext; + } + Contexts contexts; getContexts(contexts);