diff --git a/pcsx2-qt/Settings/AdvancedSettingsWidget.cpp b/pcsx2-qt/Settings/AdvancedSettingsWidget.cpp
index 6fe70187a2..5f8c466414 100644
--- a/pcsx2-qt/Settings/AdvancedSettingsWidget.cpp
+++ b/pcsx2-qt/Settings/AdvancedSettingsWidget.cpp
@@ -53,9 +53,6 @@ AdvancedSettingsWidget::AdvancedSettingsWidget(SettingsWindow* dialog, QWidget*
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.gameFixes, "EmuCore", "EnableGameFixes", true);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.patches, "EmuCore", "EnablePatches", true);
- SettingWidgetBinder::BindWidgetToFloatSetting(sif, m_ui.ntscFrameRate, "EmuCore/GS", "FramerateNTSC", 59.94f);
- SettingWidgetBinder::BindWidgetToFloatSetting(sif, m_ui.palFrameRate, "EmuCore/GS", "FrameratePAL", 50.00f);
-
dialog->registerWidgetHelp(m_ui.savestateSelector, tr("Use Save State Selector"), tr("Checked"),
tr("Show a save state selector UI when switching slots instead of showing a notification bubble."));
diff --git a/pcsx2-qt/Settings/AdvancedSettingsWidget.ui b/pcsx2-qt/Settings/AdvancedSettingsWidget.ui
index 1db2da7dab..a04747faf2 100644
--- a/pcsx2-qt/Settings/AdvancedSettingsWidget.ui
+++ b/pcsx2-qt/Settings/AdvancedSettingsWidget.ui
@@ -508,61 +508,6 @@
- -
-
-
- Frame Rate Control
-
-
-
-
-
-
- hz
-
-
- 10.000000000000000
-
-
- 300.000000000000000
-
-
- 0.010000000000000
-
-
-
- -
-
-
- hz
-
-
- 10.000000000000000
-
-
- 300.000000000000000
-
-
- 0.010000000000000
-
-
-
- -
-
-
- PAL Frame Rate:
-
-
-
- -
-
-
- NTSC Frame Rate:
-
-
-
-
-
-
-
diff --git a/pcsx2-qt/Settings/GraphicsSettingsWidget.cpp b/pcsx2-qt/Settings/GraphicsSettingsWidget.cpp
index 606ed869a6..7f98eccb7b 100644
--- a/pcsx2-qt/Settings/GraphicsSettingsWidget.cpp
+++ b/pcsx2-qt/Settings/GraphicsSettingsWidget.cpp
@@ -130,7 +130,7 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* dialog, QWidget*
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.osdShowHardwareInfo, "EmuCore/GS", "OsdShowHardwareInfo", false);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.osdShowVideoCapture, "EmuCore/GS", "OsdShowVideoCapture", true);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.osdShowInputRec, "EmuCore/GS", "OsdShowInputRec", true);
- SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.osdWarnAboutUnsafeSettings, "EmuCore", "osdWarnAboutUnsafeSettings", true);
+ SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.osdWarnAboutUnsafeSettings, "EmuCore", "OsdWarnAboutUnsafeSettings", true);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.fxaa, "EmuCore/GS", "fxaa", false);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.shadeBoost, "EmuCore/GS", "ShadeBoost", false);
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.shadeBoostBrightness, "EmuCore/GS", "ShadeBoost_Brightness", false);
@@ -254,6 +254,8 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* dialog, QWidget*
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.disableVertexShaderExpand, "EmuCore/GS", "DisableVertexShaderExpand", false);
SettingWidgetBinder::BindWidgetToIntSetting(
sif, m_ui.gsDownloadMode, "EmuCore/GS", "HWDownloadMode", static_cast(GSHardwareDownloadMode::Enabled));
+ SettingWidgetBinder::BindWidgetToFloatSetting(sif, m_ui.ntscFrameRate, "EmuCore/GS", "FrameRateNTSC", 59.94f);
+ SettingWidgetBinder::BindWidgetToFloatSetting(sif, m_ui.palFrameRate, "EmuCore/GS", "FrameRatePAL", 50.00f);
//////////////////////////////////////////////////////////////////////////
// SW Settings
@@ -392,6 +394,8 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* dialog, QWidget*
m_ui.useBlitSwapChain = nullptr;
m_ui.disableMailboxPresentation = nullptr;
m_ui.extendedUpscales = nullptr;
+ m_ui.ntscFrameRate = nullptr;
+ m_ui.palFrameRate = nullptr;
m_ui.spinCPUDuringReadbacks = nullptr;
m_ui.spinGPUDuringReadbacks = nullptr;
m_ui.overrideTextureBarriers = nullptr;
@@ -857,6 +861,12 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* dialog, QWidget*
tr("Skips synchronizing with the GS thread and host GPU for GS downloads. "
"Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. "
"If games are broken and you have this option enabled, please disable it first."));
+
+ dialog->registerWidgetHelp(m_ui.ntscFrameRate, tr("NTSC Frame Rate"), tr("59.94 Hz"),
+ tr("Determines what frame rate NTSC games run at."));
+
+ dialog->registerWidgetHelp(m_ui.palFrameRate, tr("PAL Frame Rate"), tr("50.00 Hz"),
+ tr("Determines what frame rate PAL games run at."));
}
}
diff --git a/pcsx2-qt/Settings/GraphicsSettingsWidget.ui b/pcsx2-qt/Settings/GraphicsSettingsWidget.ui
index 3850d29eca..a0b3eae032 100644
--- a/pcsx2-qt/Settings/GraphicsSettingsWidget.ui
+++ b/pcsx2-qt/Settings/GraphicsSettingsWidget.ui
@@ -6,8 +6,8 @@
0
0
- 720
- 588
+ 722
+ 626
@@ -55,12 +55,12 @@
-
- 0
+ 9
true
-
+
Display
@@ -391,7 +391,7 @@
-
+
Rendering
@@ -652,7 +652,7 @@
-
+
Hardware Fixes
@@ -950,7 +950,7 @@
-
+
Upscaling Fixes
@@ -1470,7 +1470,7 @@
-
+
OSD
@@ -1837,7 +1837,7 @@
-
+
Media Capture
@@ -2158,7 +2158,7 @@
-
- Qt::Orientation::Vertical
+ Qt::Vertical
@@ -2170,248 +2170,394 @@
-
+
Advanced
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
-
-
-
- Advanced Options
+
+
+ QFrame::NoFrame
-
-
-
-
-
- Hardware Download Mode:
-
-
-
- -
-
-
-
-
- Accurate (Recommended)
+
+ Qt::ScrollBarAlwaysOff
+
+
+ true
+
+
+
+
+ 0
+ 0
+ 722
+ 499
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 499
+
+
+
+
-
+
+
+
+ 0
+ 0
+
-
- -
-
- Disable Readbacks (Synchronize GS Thread)
+
+ Advanced Options
-
- -
-
- Unsynchronized (Non-Deterministic)
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Hardware Download Mode:
+
+
+
+ -
+
+
-
+
+ Accurate (Recommended)
+
+
+ -
+
+ Disable Readbacks (Synchronize GS Thread)
+
+
+ -
+
+ Unsynchronized (Non-Deterministic)
+
+
+ -
+
+ Disabled (Ignore Transfers)
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ GS Dump Compression:
+
+
+
+ -
+
+
-
+
+ Uncompressed
+
+
+ -
+
+ LZMA (xz)
+
+
+ -
+
+ Zstandard (zst)
+
+
+
+
+ -
+
+
-
+
+
+ Extended Upscaling Multipliers
+
+
+
+ -
+
+
+ Disable Mailbox Presentation
+
+
+
+ -
+
+
+ Use Blit Swap Chain
+
+
+
+ -
+
+
+ Spin CPU During Readbacks
+
+
+
+ -
+
+
+ Spin GPU During Readbacks
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Allow Exclusive Fullscreen:
+
+
+
+ -
+
+
-
+
+ Automatic (Default)
+
+
+ -
+
+ Disallowed
+
+
+ -
+
+ Allowed
+
+
+
+
+ -
+
+
-
+
+ None
+
+
+ -
+
+ Partial
+
+
+ -
+
+ Full (Hash Cache)
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Texture Preloading:
+
+
+
+
+
+
+ -
+
+
+ Frame Rate Options
-
- -
-
- Disabled (Ignore Transfers)
+
+
-
+
+
+ NTSC Frame Rate:
+
+
+
+ -
+
+
+ Hz
+
+
+ 10.000000000000000
+
+
+ 300.000000000000000
+
+
+ 0.010000000000000
+
+
+
+ -
+
+
+ PAL Frame Rate:
+
+
+
+ -
+
+
+ Hz
+
+
+ 10.000000000000000
+
+
+ 300.000000000000000
+
+
+ 0.010000000000000
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
-
-
-
- -
-
-
- GS Dump Compression:
-
-
-
- -
-
-
-
-
- Uncompressed
+
+ Debugging Options
-
- -
-
- LZMA (xz)
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Override Texture Barriers:
+
+
+
+ -
+
+
-
+
+ Automatic (Default)
+
+
+ -
+
+ Force Disabled
+
+
+ -
+
+ Force Enabled
+
+
+
+
+ -
+
+
-
+
+
+ Disable Framebuffer Fetch
+
+
+
+ -
+
+
+ Disable Shader Cache
+
+
+
+ -
+
+
+ Disable Vertex Shader Expand
+
+
+
+ -
+
+
+ Use Debug Device
+
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
-
- -
-
- Zstandard (zst)
+
+
+ 20
+ 40
+
-
-
-
- -
-
-
-
-
-
- Extended Upscaling Multipliers
-
-
-
- -
-
-
- Disable Mailbox Presentation
-
-
-
- -
-
-
- Use Blit Swap Chain
-
-
-
- -
-
-
- Spin CPU During Readbacks
-
-
-
- -
-
-
- Spin GPU During Readbacks
-
-
-
-
-
- -
-
-
- Allow Exclusive Fullscreen:
-
-
-
- -
-
-
-
-
- Automatic (Default)
-
-
- -
-
- Disallowed
-
-
- -
-
- Allowed
-
-
-
-
- -
-
-
-
-
- None
-
-
- -
-
- Partial
-
-
- -
-
- Full (Hash Cache)
-
-
-
-
- -
-
-
- Texture Preloading:
-
-
-
-
+
+
+
+
- -
-
-
- Debugging Options
-
-
-
-
-
-
- Override Texture Barriers:
-
-
-
- -
-
-
-
-
- Automatic (Default)
-
-
- -
-
- Force Disabled
-
-
- -
-
- Force Enabled
-
-
-
-
- -
-
-
-
-
-
- Disable Framebuffer Fetch
-
-
-
- -
-
-
- Disable Shader Cache
-
-
-
- -
-
-
- Disable Vertex Shader Expand
-
-
-
- -
-
-
- Use Debug Device
-
-
-
-
-
-
-
-
- -
-
-
- Qt::Orientation::Vertical
-
-
-
- 20
- 40
-
-
-
-
diff --git a/pcsx2/ImGui/FullscreenUI.cpp b/pcsx2/ImGui/FullscreenUI.cpp
index 16175669a3..1d857020e7 100644
--- a/pcsx2/ImGui/FullscreenUI.cpp
+++ b/pcsx2/ImGui/FullscreenUI.cpp
@@ -367,12 +367,9 @@ namespace FullscreenUI
static void DrawIntSpinBoxSetting(SettingsInterface* bsi, const char* title, const char* summary, const char* section, const char* key,
int default_value, int min_value, int max_value, int step_value, const char* format = "%d", bool enabled = true,
float height = ImGuiFullscreen::LAYOUT_MENU_BUTTON_HEIGHT, std::pair font = g_large_font, std::pair summary_font = g_medium_font);
-#if 0
- // Unused as of now
static void DrawFloatRangeSetting(SettingsInterface* bsi, const char* title, const char* summary, const char* section, const char* key,
float default_value, float min_value, float max_value, const char* format = "%f", float multiplier = 1.0f, bool enabled = true,
float height = ImGuiFullscreen::LAYOUT_MENU_BUTTON_HEIGHT, std::pair font = g_large_font, std::pair summary_font = g_medium_font);
-#endif
static void DrawFloatSpinBoxSetting(SettingsInterface* bsi, const char* title, const char* summary, const char* section,
const char* key, float default_value, float min_value, float max_value, float step_value, float multiplier,
const char* format = "%f", bool enabled = true, float height = ImGuiFullscreen::LAYOUT_MENU_BUTTON_HEIGHT,
@@ -2217,8 +2214,6 @@ void FullscreenUI::DrawIntSpinBoxSetting(SettingsInterface* bsi, const char* tit
ImGui::PopFont();
}
-#if 0
-// Unused as of now
void FullscreenUI::DrawFloatRangeSetting(SettingsInterface* bsi, const char* title, const char* summary, const char* section,
const char* key, float default_value, float min_value, float max_value, const char* format, float multiplier, bool enabled,
float height, std::pair font, std::pair summary_font)
@@ -2275,7 +2270,6 @@ void FullscreenUI::DrawFloatRangeSetting(SettingsInterface* bsi, const char* tit
ImGui::PopStyleVar(4);
ImGui::PopFont();
}
-#endif
void FullscreenUI::DrawFloatSpinBoxSetting(SettingsInterface* bsi, const char* title, const char* summary, const char* section,
const char* key, float default_value, float min_value, float max_value, float step_value, float multiplier, const char* format,
@@ -4479,6 +4473,10 @@ void FullscreenUI::DrawGraphicsSettingsPage(SettingsInterface* bsi, bool show_ad
"Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games."),
"EmuCore/GS", "texture_preloading", static_cast(TexturePreloadingLevel::Off), s_preloading_options,
std::size(s_preloading_options), true);
+ DrawFloatRangeSetting(bsi, FSUI_CSTR("NTSC Frame Rate"), FSUI_CSTR("Determines what frame rate NTSC games run at."),
+ "EmuCore/GS", "FrameRateNTSC", 59.94f, 10.0f, 300.0f, "%.2f Hz");
+ DrawFloatRangeSetting(bsi, FSUI_CSTR("PAL Frame Rate"), FSUI_CSTR("Determines what frame rate PAL games run at."),
+ "EmuCore/GS", "FrameRatePAL", 50.0f, 10.0f, 300.0f, "%.2f Hz");
}
EndMenuButtons();