diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2022-06-09 10:36:13 -0400 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2022-06-09 10:36:13 -0400 |
commit | 276647789a7080c0d44ec8e4375daf0f42b73f17 (patch) | |
tree | 329a919b96b6a8d30319b80ccd602eacc8d0d1fa | |
parent | ac99e979f43d49402a24b2f58a154c4ef1583efd (diff) |
SL-17483: Simplify ThreadPool instantiations.
Now that LL::ThreadPool's constructor has subsumed the work of discovering a
runtime override width, LLAppViewer::initGeneralThread() can simply pass the
compile-time default width instead of redundantly checking ThreadPoolSizes.
Also the default ThreadPool capacity has been bumped up to what "General" and
"LLImageGL" were requesting, so they need not pass that explicitly or explain
in comments why they're doing it.
But until we start throwing work at the "General" ThreadPool, configure it
down to 1 thread in settings.xml.
-rw-r--r-- | indra/llrender/llimagegl.cpp | 6 | ||||
-rw-r--r-- | indra/newview/app_settings/settings.xml | 2 | ||||
-rw-r--r-- | indra/newview/llappviewer.cpp | 9 |
3 files changed, 4 insertions, 13 deletions
diff --git a/indra/llrender/llimagegl.cpp b/indra/llrender/llimagegl.cpp index 9bd3a0a6b0..42460d23b8 100644 --- a/indra/llrender/llimagegl.cpp +++ b/indra/llrender/llimagegl.cpp @@ -2412,10 +2412,8 @@ void LLImageGL::checkActiveThread() std::atomic<S32> LLImageGLThread::sFreeVRAMMegabytes(4096); //if free vram is unknown, default to 4GB LLImageGLThread::LLImageGLThread(LLWindow* window) - // We want exactly one thread, but a very large capacity: we never want - // anyone, especially inner-loop render code, to have to block on post() - // because we're full. - : ThreadPool("LLImageGL", 1, 1024*1024) + // We want exactly one thread. + : ThreadPool("LLImageGL", 1) , mWindow(window) { LL_PROFILE_ZONE_SCOPED_CATEGORY_TEXTURE; diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 0000ae18bd..9c27e2a42e 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -12766,7 +12766,7 @@ <key>Value</key> <map> <key>General</key> - <integer>4</integer> + <integer>1</integer> </map> </map> <key>ThrottleBandwidthKBPS</key> diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 3bcd4f9a49..334df4ee20 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -2183,14 +2183,7 @@ void LLAppViewer::initGeneralThread() return; } - LLSD poolSizes{ gSavedSettings.getLLSD("ThreadPoolSizes") }; - LLSD sizeSpec{ poolSizes["General"] }; - LLSD::Integer poolSize{ sizeSpec.isInteger() ? sizeSpec.asInteger() : 3 }; - LL_DEBUGS("ThreadPool") << "Instantiating General pool with " - << poolSize << " threads" << LL_ENDL; - // We don't want anyone, especially the main thread, to have to block - // due to this ThreadPool being full. - mGeneralThreadPool = new LL::ThreadPool("General", poolSize, 1024 * 1024); + mGeneralThreadPool = new LL::ThreadPool("General", 3); mGeneralThreadPool->start(); } |