diff --git a/src/duckstation-qt/advancedsettingswidget.cpp b/src/duckstation-qt/advancedsettingswidget.cpp index f035d556b..b7058fa26 100644 --- a/src/duckstation-qt/advancedsettingswidget.cpp +++ b/src/duckstation-qt/advancedsettingswidget.cpp @@ -221,8 +221,6 @@ void AdvancedSettingsWidget::addTweakOptions() { addBooleanTweakOption(m_dialog, m_ui.tweakOptionTable, tr("Disable All Enhancements"), "Main", "DisableAllEnhancements", false); - addBooleanTweakOption(m_dialog, m_ui.tweakOptionTable, tr("Show Enhancement Settings"), "Display", "ShowEnhancements", - false); addBooleanTweakOption(m_dialog, m_ui.tweakOptionTable, tr("Show Status Indicators"), "Display", "ShowStatusIndicators", true); addBooleanTweakOption(m_dialog, m_ui.tweakOptionTable, tr("Apply Compatibility Settings"), "Main", @@ -301,7 +299,6 @@ void AdvancedSettingsWidget::onResetToDefaultClicked() int i = 0; setBooleanTweakOption(m_ui.tweakOptionTable, i++, false); // Disable all enhancements - setBooleanTweakOption(m_ui.tweakOptionTable, i++, false); // Show enhancement settings setBooleanTweakOption(m_ui.tweakOptionTable, i++, true); // Show status indicators setBooleanTweakOption(m_ui.tweakOptionTable, i++, true); // Apply compatibility settings setIntRangeTweakOption(m_ui.tweakOptionTable, i++, 0); // Display FPS limit diff --git a/src/duckstation-qt/displaysettingswidget.cpp b/src/duckstation-qt/displaysettingswidget.cpp index a4c13cd72..9d3dc5961 100644 --- a/src/duckstation-qt/displaysettingswidget.cpp +++ b/src/duckstation-qt/displaysettingswidget.cpp @@ -45,16 +45,16 @@ DisplaySettingsWidget::DisplaySettingsWidget(SettingsDialog* dialog, QWidget* pa SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.internalResolutionScreenshots, "Display", "InternalResolutionScreenshots", false); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.vsync, "Display", "VSync", false); - SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.displayAllFrames, "Display", "DisplayAllFrames", false); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.gpuThread, "GPU", "UseThread", true); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.threadedPresentation, "GPU", "ThreadedPresentation", true); - SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.syncToHostRefreshRate, "Main", "SyncToHostRefreshRate", false); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.showOSDMessages, "Display", "ShowOSDMessages", true); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.showFPS, "Display", "ShowFPS", false); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.showSpeed, "Display", "ShowSpeed", false); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.showResolution, "Display", "ShowResolution", false); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.showCPU, "Display", "ShowCPU", false); + SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.showGPU, "Display", "ShowGPU", false); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.showInput, "Display", "ShowInputs", false); + SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.showSettings, "Display", "ShowEnhancements", false); connect(m_ui.renderer, QOverload::of(&QComboBox::currentIndexChanged), this, &DisplaySettingsWidget::populateGPUAdaptersAndResolutions); @@ -119,23 +119,12 @@ DisplaySettingsWidget::DisplaySettingsWidget(SettingsDialog* dialog, QWidget* pa m_ui.vsync, tr("VSync"), tr("Checked"), tr("Enable this option to match DuckStation's refresh rate with your current monitor or screen. " "VSync is automatically disabled when it is not possible (e.g. running at non-100% speed).")); - dialog->registerWidgetHelp(m_ui.displayAllFrames, tr("Optimal Frame Pacing"), tr("Unchecked"), - tr("Enable this option will ensure every frame the console renders is displayed to the " - "screen, for optimal frame pacing. If you are having difficulties maintaining full " - "speed, or are getting audio glitches, try disabling this option.")); dialog->registerWidgetHelp(m_ui.threadedPresentation, tr("Threaded Presentation"), tr("Checked"), tr("Presents frames on a background thread when fast forwarding or vsync is disabled. " "This can measurably improve performance in the Vulkan renderer.")); dialog->registerWidgetHelp(m_ui.gpuThread, tr("Threaded Rendering"), tr("Checked"), tr("Uses a second thread for drawing graphics. Currently only available for the software " "renderer, but can provide a significant speed improvement, and is safe to use.")); - dialog->registerWidgetHelp( - m_ui.syncToHostRefreshRate, tr("Sync To Host Refresh Rate"), tr("Unchecked"), - tr("Adjusts the emulation speed so the console's refresh rate matches the host's refresh rate when both VSync and " - "Audio Resampling settings are enabled. This results in the smoothest animations possible, at the cost of " - "potentially increasing the emulation speed by less than 1%. Sync To Host Refresh Rate will not take effect if " - "the console's refresh rate is too far from the host's refresh rate. Users with variable refresh rate displays " - "should disable this option.")); dialog->registerWidgetHelp(m_ui.showOSDMessages, tr("Show OSD Messages"), tr("Checked"), tr("Shows on-screen-display messages when events occur such as save states being " "created/loaded, screenshots being taken, etc.")); @@ -148,21 +137,21 @@ DisplaySettingsWidget::DisplaySettingsWidget(SettingsDialog* dialog, QWidget* pa tr("Shows the resolution of the game in the top-right corner of the display.")); dialog->registerWidgetHelp( m_ui.showCPU, tr("Show CPU Usage"), tr("Unchecked"), - tr("Shows the host's CPU usage based on threads in the top-right corner of the display. This does not display the emulated system CPU's usage. If a value close to 100% is being displayed, this means your host's CPU is likely the bottleneck. In this case, you should reduce enhancement-related settings such as overclocking.")); + tr("Shows the host's CPU usage based on threads in the top-right corner of the display. This does not display the " + "emulated system CPU's usage. If a value close to 100% is being displayed, this means your host's CPU is likely " + "the bottleneck. In this case, you should reduce enhancement-related settings such as overclocking.")); dialog->registerWidgetHelp( m_ui.showInput, tr("Show Controller Input"), tr("Unchecked"), tr("Shows the current controller state of the system in the bottom-left corner of the display.")); #ifdef _WIN32 - { - QCheckBox* cb = new QCheckBox(tr("Use Blit Swap Chain"), m_ui.basicGroupBox); - SettingWidgetBinder::BindWidgetToBoolSetting(sif, cb, "Display", "UseBlitSwapChain", false); - m_ui.basicCheckboxGridLayout->addWidget(cb, 2, 1, 1, 1); - dialog->registerWidgetHelp(cb, tr("Use Blit Swap Chain"), tr("Unchecked"), - tr("Uses a blit presentation model instead of flipping when using the Direct3D 11 " - "renderer. This usually results in slower performance, but may be required for some " - "streaming applications, or to uncap framerates on some systems.")); - } + SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.blitSwapChain, "Display", "UseBlitSwapChain", false); + dialog->registerWidgetHelp(m_ui.blitSwapChain, tr("Use Blit Swap Chain"), tr("Unchecked"), + tr("Uses a blit presentation model instead of flipping when using the Direct3D 11 " + "renderer. This usually results in slower performance, but may be required for some " + "streaming applications, or to uncap framerates on some systems.")); +#else + m_ui.blitSwapChain->setEnabled(false); #endif } diff --git a/src/duckstation-qt/displaysettingswidget.ui b/src/duckstation-qt/displaysettingswidget.ui index 66a0bc281..35948a5c0 100644 --- a/src/duckstation-qt/displaysettingswidget.ui +++ b/src/duckstation-qt/displaysettingswidget.ui @@ -64,6 +64,13 @@ + + + + VSync + + + @@ -78,24 +85,10 @@ - - - - VSync - - - - + - Sync To Host Refresh Rate - - - - - - - Optimal Frame Pacing + Use Blit Swap Chain @@ -212,13 +205,6 @@ On-Screen Display - - - - Show OSD Messages - - - @@ -226,20 +212,6 @@ - - - - Show FPS - - - - - - - Show Resolution - - - @@ -247,6 +219,20 @@ + + + + Show OSD Messages + + + + + + + Show FPS + + + @@ -254,6 +240,27 @@ + + + + Show Resolution + + + + + + + Show GPU Usage + + + + + + + Show Settings Overlay + + + diff --git a/src/duckstation-qt/emulationsettingswidget.cpp b/src/duckstation-qt/emulationsettingswidget.cpp index 9affa0e02..9964d315f 100644 --- a/src/duckstation-qt/emulationsettingswidget.cpp +++ b/src/duckstation-qt/emulationsettingswidget.cpp @@ -14,6 +14,8 @@ EmulationSettingsWidget::EmulationSettingsWidget(SettingsDialog* dialog, QWidget m_ui.setupUi(this); + SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.syncToHostRefreshRate, "Main", "SyncToHostRefreshRate", false); + SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.displayAllFrames, "Display", "DisplayAllFrames", false); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.rewindEnable, "Main", "RewindEnable", false); SettingWidgetBinder::BindWidgetToFloatSetting(sif, m_ui.rewindSaveFrequency, "Main", "RewindFrequency", 10.0f); SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.rewindSaveSlots, "Main", "RewindSaveSlots", 10); @@ -83,6 +85,17 @@ EmulationSettingsWidget::EmulationSettingsWidget(SettingsDialog* dialog, QWidget m_ui.turboSpeed, tr("Turbo Speed"), tr("User Preference"), tr("Sets the turbo speed. This speed will be used when the turbo hotkey is pressed/toggled. Turboing will take " "priority over fast forwarding if both hotkeys are pressed/toggled.")); + dialog->registerWidgetHelp( + m_ui.syncToHostRefreshRate, tr("Sync To Host Refresh Rate"), tr("Unchecked"), + tr("Adjusts the emulation speed so the console's refresh rate matches the host's refresh rate when both VSync and " + "Audio Resampling settings are enabled. This results in the smoothest animations possible, at the cost of " + "potentially increasing the emulation speed by less than 1%. Sync To Host Refresh Rate will not take effect if " + "the console's refresh rate is too far from the host's refresh rate. Users with variable refresh rate displays " + "should disable this option.")); + dialog->registerWidgetHelp(m_ui.displayAllFrames, tr("Optimal Frame Pacing"), tr("Unchecked"), + tr("Enable this option will ensure every frame the console renders is displayed to the " + "screen, for optimal frame pacing. If you are having difficulties maintaining full " + "speed, or are getting audio glitches, try disabling this option.")); dialog->registerWidgetHelp( m_ui.rewindEnable, tr("Rewinding"), tr("Unchecked"), tr("Enable Rewinding: Saves state periodically so you can rewind any mistakes while playing.
" diff --git a/src/duckstation-qt/emulationsettingswidget.ui b/src/duckstation-qt/emulationsettingswidget.ui index 34d54ae8a..c2aec0669 100644 --- a/src/duckstation-qt/emulationsettingswidget.ui +++ b/src/duckstation-qt/emulationsettingswidget.ui @@ -62,6 +62,24 @@ + + + + + + Sync To Host Refresh Rate + + + + + + + Optimal Frame Pacing + + + + +