mirror of https://github.com/PCSX2/pcsx2.git
GS: Make VK threaded presentation the default
This commit is contained in:
parent
82f1dbca89
commit
d3ca2bf58f
|
@ -244,7 +244,7 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsDialog* dialog, QWidget*
|
||||||
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.useBlitSwapChain, "EmuCore/GS", "UseBlitSwapChain", false);
|
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.useBlitSwapChain, "EmuCore/GS", "UseBlitSwapChain", false);
|
||||||
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.useDebugDevice, "EmuCore/GS", "UseDebugDevice", false);
|
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.useDebugDevice, "EmuCore/GS", "UseDebugDevice", false);
|
||||||
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.skipPresentingDuplicateFrames, "EmuCore/GS", "SkipDuplicateFrames", false);
|
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.skipPresentingDuplicateFrames, "EmuCore/GS", "SkipDuplicateFrames", false);
|
||||||
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.threadedPresentation, "EmuCore/GS", "ThreadedPresentation", false);
|
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.threadedPresentation, "EmuCore/GS", "DisableThreadedPresentation", false);
|
||||||
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.overrideTextureBarriers, "EmuCore/GS", "OverrideTextureBarriers", -1, -1);
|
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.overrideTextureBarriers, "EmuCore/GS", "OverrideTextureBarriers", -1, -1);
|
||||||
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.overrideGeometryShader, "EmuCore/GS", "OverrideGeometryShaders", -1, -1);
|
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.overrideGeometryShader, "EmuCore/GS", "OverrideGeometryShaders", -1, -1);
|
||||||
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.gsDumpCompression, "EmuCore/GS", "GSDumpCompression", static_cast<int>(GSDumpCompressionMethod::Zstandard));
|
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.gsDumpCompression, "EmuCore/GS", "GSDumpCompression", static_cast<int>(GSDumpCompressionMethod::Zstandard));
|
||||||
|
@ -624,9 +624,10 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsDialog* dialog, QWidget*
|
||||||
"the GPU has more time to complete it (this is NOT frame skipping). Can smooth our frame time fluctuations when the CPU/GPU are near maximum "
|
"the GPU has more time to complete it (this is NOT frame skipping). Can smooth our frame time fluctuations when the CPU/GPU are near maximum "
|
||||||
"utilization, but makes frame pacing more inconsistent and can increase input lag."));
|
"utilization, but makes frame pacing more inconsistent and can increase input lag."));
|
||||||
|
|
||||||
dialog->registerWidgetHelp(m_ui.threadedPresentation, tr("Threaded Presentation"), tr("Unchecked"),
|
dialog->registerWidgetHelp(m_ui.threadedPresentation, tr("Disable Threaded Presentation"), tr("Unchecked"),
|
||||||
tr("Presents frames on a worker thread, instead of on the GS thread. Can improve frame times on some systems, at the cost of "
|
tr("Presents frames on the main GS thread instead of a worker thread. Used for debugging frametime issues. "
|
||||||
"potentially worse frame pacing. Only applies to the Vulkan renderer."));
|
"Could reduce chance of missing a frame or reduce tearing at the expense of more erratic frame times. "
|
||||||
|
"Only applies to the Vulkan renderer."));
|
||||||
|
|
||||||
dialog->registerWidgetHelp(m_ui.gsDownloadMode, tr("GS Download Mode"), tr("Accurate"),
|
dialog->registerWidgetHelp(m_ui.gsDownloadMode, tr("GS Download Mode"), tr("Accurate"),
|
||||||
tr("Skips synchronizing with the GS thread and host GPU for GS downloads. "
|
tr("Skips synchronizing with the GS thread and host GPU for GS downloads. "
|
||||||
|
|
|
@ -58,7 +58,7 @@
|
||||||
<item>
|
<item>
|
||||||
<widget class="QTabWidget" name="tabs">
|
<widget class="QTabWidget" name="tabs">
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>0</number>
|
<number>8</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="documentMode">
|
<property name="documentMode">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
|
@ -1710,7 +1710,7 @@
|
||||||
<item row="1" column="0">
|
<item row="1" column="0">
|
||||||
<widget class="QCheckBox" name="threadedPresentation">
|
<widget class="QCheckBox" name="threadedPresentation">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Threaded Presentation</string>
|
<string>Disable Threaded Presentation</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
|
|
@ -626,7 +626,7 @@ struct Pcsx2Config
|
||||||
DisableShaderCache : 1,
|
DisableShaderCache : 1,
|
||||||
DisableDualSourceBlend : 1,
|
DisableDualSourceBlend : 1,
|
||||||
DisableFramebufferFetch : 1,
|
DisableFramebufferFetch : 1,
|
||||||
ThreadedPresentation : 1,
|
DisableThreadedPresentation : 1,
|
||||||
SkipDuplicateFrames : 1,
|
SkipDuplicateFrames : 1,
|
||||||
OsdShowMessages : 1,
|
OsdShowMessages : 1,
|
||||||
OsdShowSpeed : 1,
|
OsdShowSpeed : 1,
|
||||||
|
|
|
@ -3291,7 +3291,7 @@ void FullscreenUI::DrawGraphicsSettingsPage()
|
||||||
"EmuCore/GS", "SkipDuplicateFrames", false);
|
"EmuCore/GS", "SkipDuplicateFrames", false);
|
||||||
DrawToggleSetting(bsi, "Threaded Presentation",
|
DrawToggleSetting(bsi, "Threaded Presentation",
|
||||||
"Presents frames on a worker thread, instead of on the GS thread. Can improve frame times on some systems, at the cost of "
|
"Presents frames on a worker thread, instead of on the GS thread. Can improve frame times on some systems, at the cost of "
|
||||||
"potentially worse frame pacing.", "EmuCore/GS", "ThreadedPresentation", false);
|
"potentially worse frame pacing.", "EmuCore/GS", "DisableThreadedPresentation", false);
|
||||||
DrawIntListSetting(bsi, "Override Texture Barriers", "Forces texture barrier functionality to the specified value.", "EmuCore/GS",
|
DrawIntListSetting(bsi, "Override Texture Barriers", "Forces texture barrier functionality to the specified value.", "EmuCore/GS",
|
||||||
"OverrideTextureBarriers", -1, s_generic_options, std::size(s_generic_options), -1);
|
"OverrideTextureBarriers", -1, s_generic_options, std::size(s_generic_options), -1);
|
||||||
DrawIntListSetting(bsi, "Override Geometry Shaders", "Forces geometry shader functionality to the specified value.", "EmuCore/GS",
|
DrawIntListSetting(bsi, "Override Geometry Shaders", "Forces geometry shader functionality to the specified value.", "EmuCore/GS",
|
||||||
|
|
|
@ -279,7 +279,7 @@ bool VulkanHostDisplay::CreateDevice(const WindowInfo& wi, VsyncMode vsync)
|
||||||
WindowInfo local_wi(wi);
|
WindowInfo local_wi(wi);
|
||||||
const bool debug_device = EmuConfig.GS.UseDebugDevice;
|
const bool debug_device = EmuConfig.GS.UseDebugDevice;
|
||||||
if (!Vulkan::Context::Create(EmuConfig.GS.Adapter, &local_wi, &m_swap_chain, GetPreferredPresentModeForVsyncMode(vsync),
|
if (!Vulkan::Context::Create(EmuConfig.GS.Adapter, &local_wi, &m_swap_chain, GetPreferredPresentModeForVsyncMode(vsync),
|
||||||
EmuConfig.GS.ThreadedPresentation, debug_device, debug_device))
|
!EmuConfig.GS.DisableThreadedPresentation, debug_device, debug_device))
|
||||||
{
|
{
|
||||||
Console.Error("Failed to create Vulkan context");
|
Console.Error("Failed to create Vulkan context");
|
||||||
m_window_info = {};
|
m_window_info = {};
|
||||||
|
|
|
@ -682,7 +682,7 @@ void GSUpdateConfig(const Pcsx2Config::GSOptions& new_config)
|
||||||
GSConfig.UseDebugDevice != old_config.UseDebugDevice ||
|
GSConfig.UseDebugDevice != old_config.UseDebugDevice ||
|
||||||
GSConfig.UseBlitSwapChain != old_config.UseBlitSwapChain ||
|
GSConfig.UseBlitSwapChain != old_config.UseBlitSwapChain ||
|
||||||
GSConfig.DisableShaderCache != old_config.DisableShaderCache ||
|
GSConfig.DisableShaderCache != old_config.DisableShaderCache ||
|
||||||
GSConfig.ThreadedPresentation != old_config.ThreadedPresentation
|
GSConfig.DisableThreadedPresentation != old_config.DisableThreadedPresentation
|
||||||
);
|
);
|
||||||
if (!GSreopen(do_full_restart, old_config))
|
if (!GSreopen(do_full_restart, old_config))
|
||||||
pxFailRel("Failed to do full GS reopen");
|
pxFailRel("Failed to do full GS reopen");
|
||||||
|
|
|
@ -397,7 +397,7 @@ Pcsx2Config::GSOptions::GSOptions()
|
||||||
UseBlitSwapChain = false;
|
UseBlitSwapChain = false;
|
||||||
DisableShaderCache = false;
|
DisableShaderCache = false;
|
||||||
DisableFramebufferFetch = false;
|
DisableFramebufferFetch = false;
|
||||||
ThreadedPresentation = false;
|
DisableThreadedPresentation = false;
|
||||||
SkipDuplicateFrames = false;
|
SkipDuplicateFrames = false;
|
||||||
OsdShowMessages = true;
|
OsdShowMessages = true;
|
||||||
OsdShowSpeed = false;
|
OsdShowSpeed = false;
|
||||||
|
@ -544,7 +544,7 @@ bool Pcsx2Config::GSOptions::RestartOptionsAreEqual(const GSOptions& right) cons
|
||||||
OpEqu(DisableShaderCache) &&
|
OpEqu(DisableShaderCache) &&
|
||||||
OpEqu(DisableDualSourceBlend) &&
|
OpEqu(DisableDualSourceBlend) &&
|
||||||
OpEqu(DisableFramebufferFetch) &&
|
OpEqu(DisableFramebufferFetch) &&
|
||||||
OpEqu(ThreadedPresentation) &&
|
OpEqu(DisableThreadedPresentation) &&
|
||||||
OpEqu(OverrideTextureBarriers) &&
|
OpEqu(OverrideTextureBarriers) &&
|
||||||
OpEqu(OverrideGeometryShaders);
|
OpEqu(OverrideGeometryShaders);
|
||||||
}
|
}
|
||||||
|
@ -599,7 +599,7 @@ void Pcsx2Config::GSOptions::LoadSave(SettingsWrapper& wrap)
|
||||||
GSSettingBoolEx(DisableShaderCache, "disable_shader_cache");
|
GSSettingBoolEx(DisableShaderCache, "disable_shader_cache");
|
||||||
GSSettingBool(DisableDualSourceBlend);
|
GSSettingBool(DisableDualSourceBlend);
|
||||||
GSSettingBool(DisableFramebufferFetch);
|
GSSettingBool(DisableFramebufferFetch);
|
||||||
GSSettingBool(ThreadedPresentation);
|
GSSettingBool(DisableThreadedPresentation);
|
||||||
GSSettingBool(SkipDuplicateFrames);
|
GSSettingBool(SkipDuplicateFrames);
|
||||||
GSSettingBool(OsdShowMessages);
|
GSSettingBool(OsdShowMessages);
|
||||||
GSSettingBool(OsdShowSpeed);
|
GSSettingBool(OsdShowSpeed);
|
||||||
|
|
Loading…
Reference in New Issue