diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 35c0ae8b55..2942ed0c42 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -26540,6 +26540,17 @@ Change of this parameter will affect the layout of buttons in notification toast Value 0 + FSImageDecodeThreads + + Comment + Amount of threads to use for image decoding. 0 = auto, >= 1 number of threads. Needs restart + Persist + 1 + Type + U32 + Value + 0 + FSPerfFloaterSmoothingPeriods Comment diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 68f25f8d18..737ba338a2 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -2571,8 +2571,15 @@ bool LLAppViewer::initThreads() // 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); - threadCounts["ImageDecode"] = image_decode_count; + // Override image decode thread config + //S32 image_decode_count = llclamp(cores - 9, 1, 8); + S32 image_decode_count = llclamp(cores - 4, 1, 8); + if (auto max_decodes = gSavedSettings.getU32("FSImageDecodeThreads"); max_decodes > 0) + { + image_decode_count = llclamp((S32)max_decodes, 1, 32); + } + // + threadCounts["ImageDecode"] = image_decode_count; gSavedSettings.setLLSD("ThreadPoolSizes", threadCounts); // Image decoding