diff --git a/src/noggit/MapView.cpp b/src/noggit/MapView.cpp index 709f3984..d2f42419 100755 --- a/src/noggit/MapView.cpp +++ b/src/noggit/MapView.cpp @@ -2643,7 +2643,12 @@ MapView::MapView( math::degrees camera_yaw0 _display_mode = display_mode::in_3D; _startup_time.start(); - _update_every_event_loop.start (0); + + int _fps_limit = _settings->value("fps_limit", 60).toInt(); + int _fps_calcul = (int)((1.f / (float)_fps_limit) * 1000.f); + std::cout << "FPS limit is set to : " << _fps_limit << " (" << _fps_calcul << ")" << std::endl; + + _update_every_event_loop.start (_fps_calcul); connect(&_update_every_event_loop, &QTimer::timeout,[=]{ _needs_redraw = true; update(); }); createGUI(); } diff --git a/src/noggit/ui/windows/settingsPanel/SettingsPanel.cpp b/src/noggit/ui/windows/settingsPanel/SettingsPanel.cpp index 3830a340..5fbf08e6 100755 --- a/src/noggit/ui/windows/settingsPanel/SettingsPanel.cpp +++ b/src/noggit/ui/windows/settingsPanel/SettingsPanel.cpp @@ -135,6 +135,12 @@ namespace Noggit } ); + connect(ui->_fps_limit_slider, &QSlider::valueChanged, [&](int value) + { + ui->_fps_limit_current_label->setText( + QString(tr("FPS limitation, current : %1")).arg(value)); + }); + ui->_wireframe_color->setColor(Qt::white); connect(ui->saveButton, &QPushButton::clicked, [this] @@ -215,6 +221,7 @@ namespace Noggit ui->_wireframe_radius->setValue(_settings->value("wireframe/radius", 1.5f).toFloat()); ui->_wireframe_width->setValue(_settings->value("wireframe/width", 1.f).toFloat()); ui->_wireframe_color->setColor(_settings->value("wireframe/color").value()); + ui->_fps_limit_slider->setValue(_settings->value("fps_limit", 60).toInt()); } void settings::save_changes() @@ -257,6 +264,7 @@ namespace Noggit _settings->setValue("assetBrowser/default_model", ui->assetBrowserDefaultModel->text()); _settings->setValue("assetBrowser/move_sensitivity", ui->assetBrowserMoveSensitivity->value()); _settings->setValue("assetBrowser/render_asset_preview", ui->assetBrowserRenderAssetPreview->isChecked()); + _settings->setValue("fps_limit", ui->_fps_limit_slider->value()); _settings->sync(); diff --git a/src/noggit/ui/windows/settingsPanel/SettingsPanel.ui b/src/noggit/ui/windows/settingsPanel/SettingsPanel.ui index 9c0bc589..a761ef01 100755 --- a/src/noggit/ui/windows/settingsPanel/SettingsPanel.ui +++ b/src/noggit/ui/windows/settingsPanel/SettingsPanel.ui @@ -918,6 +918,61 @@ + + + + + + + + + + + + + This setting will be effective after a reload + + + + + + + + + 30 + + + + + + + 30 + + + 180 + + + 30 + + + 30 + + + Qt::Horizontal + + + + + + + 180 + + + + + + +