@@ -547,6 +547,10 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WindowFlags fl ) :
547547 chkUseRenderCaching->setChecked ( settings.value ( " /qgis/enable_render_caching" , false ).toBool () );
548548 chkParallelRendering->setChecked ( settings.value ( " /qgis/parallel_rendering" , false ).toBool () );
549549 spinMapUpdateInterval->setValue ( settings.value ( " /qgis/map_update_interval" , 250 ).toInt () );
550+ chkMaxThreads->setChecked ( QgsApplication::maxThreads () != -1 );
551+ spinMaxThreads->setEnabled ( chkMaxThreads->isChecked () );
552+ spinMaxThreads->setRange ( 1 , QThread::idealThreadCount () );
553+ spinMaxThreads->setValue ( QgsApplication::maxThreads () );
550554
551555 // Default simplify drawing configuration
552556 mSimplifyDrawingGroupBox ->setChecked ( settings.value ( " /qgis/simplifyDrawingHints" , ( int )QgsVectorSimplifyMethod::GeometrySimplification ).toInt () != QgsVectorSimplifyMethod::NoSimplification );
@@ -1071,6 +1075,10 @@ void QgsOptions::saveOptions()
10711075 settings.setValue ( " /qgis/enable_anti_aliasing" , chkAntiAliasing->isChecked () );
10721076 settings.setValue ( " /qgis/enable_render_caching" , chkUseRenderCaching->isChecked () );
10731077 settings.setValue ( " /qgis/parallel_rendering" , chkParallelRendering->isChecked () );
1078+ int maxThreads = chkMaxThreads->isChecked () ? spinMaxThreads->value () : -1 ;
1079+ QgsApplication::setMaxThreads ( maxThreads );
1080+ settings.setValue ( " /qgis/max_threads" , maxThreads );
1081+
10741082 settings.setValue ( " /qgis/map_update_interval" , spinMapUpdateInterval->value () );
10751083 settings.setValue ( " /qgis/legendDoubleClickAction" , cmbLegendDoubleClickAction->currentIndex () );
10761084 bool legendLayersCapitalise = settings.value ( " /qgis/capitaliseLayerName" , false ).toBool ();
0 commit comments