diff --git a/src/noggit/MapView.cpp b/src/noggit/MapView.cpp
index c5479352..05e66856 100755
--- a/src/noggit/MapView.cpp
+++ b/src/noggit/MapView.cpp
@@ -2816,7 +2816,7 @@ MapView::MapView( math::degrees camera_yaw0
return;
};
- if (_main_window->isMinimized())
+ if (_main_window->isMinimized() && _settings->value("background_fps_limit", true).toBool())
{
_needs_redraw = false;
// return;
@@ -6075,6 +6075,10 @@ void MapView::ShowContextMenu(QPoint pos)
void MapView::onApplicationStateChanged(Qt::ApplicationState state)
{
// auto interval = _update_every_event_loop.interval();
+
+ if (!_settings->value("background_fps_limit", true).toBool())
+ return;
+
int fps_limit = _settings->value("fps_limit", 60).toInt();
int fps_calcul = (int)((1.f / (float)fps_limit) * 1000.f);
diff --git a/src/noggit/ui/windows/settingsPanel/SettingsPanel.cpp b/src/noggit/ui/windows/settingsPanel/SettingsPanel.cpp
index 2d05cfc4..5c7d6703 100755
--- a/src/noggit/ui/windows/settingsPanel/SettingsPanel.cpp
+++ b/src/noggit/ui/windows/settingsPanel/SettingsPanel.cpp
@@ -189,6 +189,7 @@ namespace Noggit
ui->_vsync_cb->setChecked(_settings->value("vsync", false).toBool());
ui->_anti_aliasing_cb->setChecked(_settings->value("anti_aliasing", false).toBool());
ui->_fullscreen_cb->setChecked(_settings->value("fullscreen", false).toBool());
+ ui->_background_fps_limit_cb->setChecked(_settings->value("background_fps_limit", true).toBool());
ui->_adt_unload_dist->setValue(_settings->value("unload_dist", 5).toInt());
ui->_adt_unload_check_interval->setValue(_settings->value("unload_interval", 5).toInt());
ui->_uid_cb->setChecked(_settings->value("uid_startup_check", true).toBool());
@@ -273,6 +274,7 @@ namespace Noggit
_settings->setValue("vsync", ui->_vsync_cb->isChecked());
_settings->setValue("anti_aliasing", ui->_anti_aliasing_cb->isChecked());
_settings->setValue("fullscreen", ui->_fullscreen_cb->isChecked());
+ _settings->setValue("background_fps_limit", ui->_background_fps_limit_cb->isChecked());
_settings->setValue("unload_dist", ui->_adt_unload_dist->value());
_settings->setValue("unload_interval", ui->_adt_unload_check_interval->value());
_settings->setValue("uid_startup_check", ui->_uid_cb->isChecked());
diff --git a/src/noggit/ui/windows/settingsPanel/SettingsPanel.ui b/src/noggit/ui/windows/settingsPanel/SettingsPanel.ui
index 211eb896..cd69d5b9 100755
--- a/src/noggit/ui/windows/settingsPanel/SettingsPanel.ui
+++ b/src/noggit/ui/windows/settingsPanel/SettingsPanel.ui
@@ -233,6 +233,43 @@
+ -
+
+
-
+
+
+ FPS will be halved when Noggit is not the active windows but still visible, FPS will be set to 1 when Noggit is minimized.
+
+
+ Limit Background FPS
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+
+
+ true
+
+
+
+
+
-