diff --git a/src/duckstation-qt/advancedsettingswidget.cpp b/src/duckstation-qt/advancedsettingswidget.cpp index c32445ca6..519fdffd8 100644 --- a/src/duckstation-qt/advancedsettingswidget.cpp +++ b/src/duckstation-qt/advancedsettingswidget.cpp @@ -144,6 +144,9 @@ AdvancedSettingsWidget::AdvancedSettingsWidget(QtHostInterface* host_interface, m_ui.tweakOptionTable->setColumnWidth(0, 380); + addIntRangeTweakOption(m_host_interface, m_ui.tweakOptionTable, tr("Display FPS Limit"), "Display", "MaxFPS", 0, 1000, + 0); + addBooleanTweakOption(m_host_interface, m_ui.tweakOptionTable, tr("PGXP Vertex Cache"), "GPU", "PGXPVertexCache", false); addBooleanTweakOption(m_host_interface, m_ui.tweakOptionTable, tr("PGXP CPU Mode"), "GPU", "PGXPCPU", false); @@ -173,36 +176,28 @@ AdvancedSettingsWidget::AdvancedSettingsWidget(QtHostInterface* host_interface, 1000, Settings::DEFAULT_GPU_MAX_RUN_AHEAD); addBooleanTweakOption(m_host_interface, m_ui.tweakOptionTable, tr("Use Debug Host GPU Device"), "GPU", "UseDebugDevice", false); - addIntRangeTweakOption(m_host_interface, m_ui.tweakOptionTable, tr("Display FPS Limit"), "Display", "MaxFPS", 0, 1000, - 0); + addBooleanTweakOption(m_host_interface, m_ui.tweakOptionTable, tr("Increase Timer Resolution"), "Main", "IncreaseTimerResolution", true); -#ifdef WIN32 - addBooleanTweakOption(m_host_interface, m_ui.tweakOptionTable, tr("Use Blit Swap Chain"), "Display", - "UseBlitSwapChain", false); -#endif } AdvancedSettingsWidget::~AdvancedSettingsWidget() = default; void AdvancedSettingsWidget::onResetToDefaultClicked() { - setBooleanTweakOption(m_ui.tweakOptionTable, 0, false); + setIntRangeTweakOption(m_ui.tweakOptionTable, 0, 0); setBooleanTweakOption(m_ui.tweakOptionTable, 1, false); setBooleanTweakOption(m_ui.tweakOptionTable, 2, false); - setFloatRangeTweakOption(m_ui.tweakOptionTable, 3, -1.0f); - setFloatRangeTweakOption(m_ui.tweakOptionTable, 4, Settings::DEFAULT_GPU_PGXP_DEPTH_THRESHOLD); - setBooleanTweakOption(m_ui.tweakOptionTable, 5, false); - setChoiceTweakOption(m_ui.tweakOptionTable, 6, Settings::DEFAULT_CPU_FASTMEM_MODE); - setBooleanTweakOption(m_ui.tweakOptionTable, 7, false); - setIntRangeTweakOption(m_ui.tweakOptionTable, 8, static_cast(Settings::DEFAULT_DMA_MAX_SLICE_TICKS)); - setIntRangeTweakOption(m_ui.tweakOptionTable, 9, static_cast(Settings::DEFAULT_DMA_HALT_TICKS)); - setIntRangeTweakOption(m_ui.tweakOptionTable, 10, static_cast(Settings::DEFAULT_GPU_FIFO_SIZE)); - setIntRangeTweakOption(m_ui.tweakOptionTable, 11, static_cast(Settings::DEFAULT_GPU_MAX_RUN_AHEAD)); - setBooleanTweakOption(m_ui.tweakOptionTable, 12, false); - setIntRangeTweakOption(m_ui.tweakOptionTable, 13, 0); + setBooleanTweakOption(m_ui.tweakOptionTable, 3, false); + setFloatRangeTweakOption(m_ui.tweakOptionTable, 4, -1.0f); + setFloatRangeTweakOption(m_ui.tweakOptionTable, 5, Settings::DEFAULT_GPU_PGXP_DEPTH_THRESHOLD); + setBooleanTweakOption(m_ui.tweakOptionTable, 6, false); + setChoiceTweakOption(m_ui.tweakOptionTable, 7, Settings::DEFAULT_CPU_FASTMEM_MODE); + setBooleanTweakOption(m_ui.tweakOptionTable, 8, false); + setIntRangeTweakOption(m_ui.tweakOptionTable, 9, static_cast(Settings::DEFAULT_DMA_MAX_SLICE_TICKS)); + setIntRangeTweakOption(m_ui.tweakOptionTable, 10, static_cast(Settings::DEFAULT_DMA_HALT_TICKS)); + setIntRangeTweakOption(m_ui.tweakOptionTable, 11, static_cast(Settings::DEFAULT_GPU_FIFO_SIZE)); + setIntRangeTweakOption(m_ui.tweakOptionTable, 12, static_cast(Settings::DEFAULT_GPU_MAX_RUN_AHEAD)); + setBooleanTweakOption(m_ui.tweakOptionTable, 13, false); setBooleanTweakOption(m_ui.tweakOptionTable, 14, true); -#ifdef WIN32 - setBooleanTweakOption(m_ui.tweakOptionTable, 15, false); -#endif } diff --git a/src/duckstation-qt/displaysettingswidget.cpp b/src/duckstation-qt/displaysettingswidget.cpp index ef53cee73..f753049da 100644 --- a/src/duckstation-qt/displaysettingswidget.cpp +++ b/src/duckstation-qt/displaysettingswidget.cpp @@ -99,6 +99,18 @@ DisplaySettingsWidget::DisplaySettingsWidget(QtHostInterface* host_interface, QW dialog->registerWidgetHelp( m_ui.showSpeed, tr("Show Speed"), tr("Unchecked"), tr("Shows the current emulation speed of the system in the top-right corner of the display as a percentage.")); + +#ifdef _WIN32 + { + QCheckBox* cb = new QCheckBox(tr("Use Blit Swap Chain"), m_ui.basicGroupBox); + SettingWidgetBinder::BindWidgetToBoolSetting(m_host_interface, cb, "Display", "UseBlitSwapChain", false); + m_ui.basicCheckboxGridLayout->addWidget(cb, 1, 0, 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.")); + } +#endif } DisplaySettingsWidget::~DisplaySettingsWidget() = default; diff --git a/src/duckstation-qt/displaysettingswidget.ui b/src/duckstation-qt/displaysettingswidget.ui index 658e8a02b..02971ce44 100644 --- a/src/duckstation-qt/displaysettingswidget.ui +++ b/src/duckstation-qt/displaysettingswidget.ui @@ -27,11 +27,11 @@ 0 - + Basic - + @@ -63,18 +63,22 @@ - - - Threaded Rendering - - - - - - - VSync - - + + + + + Threaded Rendering + + + + + + + VSync + + + +