From 2c6e274b3978ce4ee1af98e21f101e7037ec9d24 Mon Sep 17 00:00:00 2001
From: ameerj <52414509+ameerj@users.noreply.github.com>
Date: Thu, 22 Jul 2021 21:03:50 -0400
Subject: config, nvflinger: Add FPS cap setting
Allows finer tuning of the FPS limit.
---
src/yuzu/configuration/config.cpp | 2 ++
src/yuzu/configuration/configure_general.cpp | 4 ++++
src/yuzu/configuration/configure_general.ui | 30 ++++++++++++++++++++++++++++
src/yuzu/main.cpp | 2 +-
4 files changed, 37 insertions(+), 1 deletion(-)
(limited to 'src/yuzu')
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp
index a5e032959..52bb07d16 100644
--- a/src/yuzu/configuration/config.cpp
+++ b/src/yuzu/configuration/config.cpp
@@ -823,6 +823,7 @@ void Config::ReadRendererValues() {
ReadGlobalSetting(Settings::values.bg_blue);
if (global) {
+ ReadBasicSetting(Settings::values.fps_cap);
ReadBasicSetting(Settings::values.renderer_debug);
}
@@ -1352,6 +1353,7 @@ void Config::SaveRendererValues() {
WriteGlobalSetting(Settings::values.bg_blue);
if (global) {
+ WriteBasicSetting(Settings::values.fps_cap);
WriteBasicSetting(Settings::values.renderer_debug);
}
diff --git a/src/yuzu/configuration/configure_general.cpp b/src/yuzu/configuration/configure_general.cpp
index 18f25def6..d79d2e23e 100644
--- a/src/yuzu/configuration/configure_general.cpp
+++ b/src/yuzu/configuration/configure_general.cpp
@@ -48,6 +48,8 @@ void ConfigureGeneral::SetConfiguration() {
ui->toggle_frame_limit->setChecked(Settings::values.use_frame_limit.GetValue());
ui->frame_limit->setValue(Settings::values.frame_limit.GetValue());
+ ui->fps_cap->setValue(Settings::values.fps_cap.GetValue());
+
ui->button_reset_defaults->setEnabled(runtime_lock);
if (Settings::IsConfiguringGlobal()) {
@@ -87,6 +89,8 @@ void ConfigureGeneral::ApplyConfiguration() {
UISettings::values.pause_when_in_background = ui->toggle_background_pause->isChecked();
UISettings::values.hide_mouse = ui->toggle_hide_mouse->isChecked();
+ Settings::values.fps_cap.SetValue(ui->fps_cap->value());
+
// Guard if during game and set to game-specific value
if (Settings::values.use_frame_limit.UsingGlobal()) {
Settings::values.use_frame_limit.SetValue(ui->toggle_frame_limit->checkState() ==
diff --git a/src/yuzu/configuration/configure_general.ui b/src/yuzu/configuration/configure_general.ui
index bc7041090..bc3c4b481 100644
--- a/src/yuzu/configuration/configure_general.ui
+++ b/src/yuzu/configuration/configure_general.ui
@@ -51,6 +51,36 @@
+ -
+
+
-
+
+
+ Framerate Cap
+
+
+ Requires the use of the FPS Limiter Toggle hotkey to take effect.
+
+
+
+ -
+
+
+ x
+
+
+ 1
+
+
+ 1000
+
+
+ 500
+
+
+
+
+
-
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 03a909d17..ce7415592 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -2921,7 +2921,7 @@ void GMainWindow::UpdateStatusBar() {
}
if (Settings::values.disable_fps_limit) {
game_fps_label->setText(
- tr("Game: %1 FPS (Limit off)").arg(results.average_game_fps, 0, 'f', 0));
+ tr("Game: %1 FPS (Unlocked)").arg(results.average_game_fps, 0, 'f', 0));
} else {
game_fps_label->setText(tr("Game: %1 FPS").arg(results.average_game_fps, 0, 'f', 0));
}
--
cgit v1.2.3