summaryrefslogtreecommitdiff
path: root/indra/newview/llappviewer.cpp
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2024-07-03 17:42:24 -0500
committerGitHub <noreply@github.com>2024-07-03 17:42:24 -0500
commit08b933a0c67463f06f124420f16c8a3f7dc83f1f (patch)
tree4ca6d47a6b055d332cb75646226c13e950f37ce4 /indra/newview/llappviewer.cpp
parent9a38ecee8ef54b3e85a88657d7ba96c3292e350e (diff)
#1870 Tune up for better experience on integrated intel with low memory (#1872)
* More deterministic vsize calculation. Add control for choosing downscale method. * Quick hack to make GLTF preview work again
Diffstat (limited to 'indra/newview/llappviewer.cpp')
-rw-r--r--indra/newview/llappviewer.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 51099a480d..ac689f7319 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -2210,10 +2210,10 @@ bool LLAppViewer::initThreads()
cores = llmin(cores, (S32) max_cores);
}
- // The only configurable thread count right now is ImageDecode
- // The viewer typically starts around 8 threads not including image decode,
- // so try to leave at least one core free
- S32 image_decode_count = llclamp(cores - 9, 1, 8);
+ // always use at least 2 threads for image decoding to prevent
+ // a single texture blocking all other textures from decoding
+ S32 image_decode_count = llclamp(cores - 6, 2, 16);
+
threadCounts["ImageDecode"] = image_decode_count;
gSavedSettings.setLLSD("ThreadPoolSizes", threadCounts);
@@ -4609,6 +4609,10 @@ void LLAppViewer::idle()
LLGLTFMaterialList::flushUpdates();
+ static LLCachedControl<U32> downscale_method(gSavedSettings, "RenderDownScaleMethod");
+ gGLManager.mDownScaleMethod = downscale_method;
+ LLImageGL::updateClass();
+
// Service the WorkQueue we use for replies from worker threads.
// Use function statics for the timeslice setting so we only have to fetch
// and convert MainWorkTime once.