diff --git a/pcsx2/Pcsx2Config.cpp b/pcsx2/Pcsx2Config.cpp index 1376c9cc95..02a7ecde14 100644 --- a/pcsx2/Pcsx2Config.cpp +++ b/pcsx2/Pcsx2Config.cpp @@ -322,7 +322,6 @@ bool Pcsx2Config::GSOptions::operator==(const GSOptions& right) const OpEqu(FrameSkipEnable) && OpEqu(FrameLimitEnable) && - OpEqu(VsyncEnable) && OpEqu(FramesToDraw) && OpEqu(FramesToSkip) && @@ -343,6 +342,8 @@ bool Pcsx2Config::GSOptions::OptionsAreEqual(const GSOptions& right) const return ( OpEqu(bitset) && + OpEqu(VsyncEnable) && + OpEqu(InterlaceMode) && OpEqu(Zoom) && diff --git a/pcsx2/System/SysCoreThread.cpp b/pcsx2/System/SysCoreThread.cpp index c436b6c0e9..c417dfdfcf 100644 --- a/pcsx2/System/SysCoreThread.cpp +++ b/pcsx2/System/SysCoreThread.cpp @@ -196,6 +196,7 @@ void SysCoreThread::ApplySettings(const Pcsx2Config& src) // so, we should block here until GS has finished reinitializing, if needed. Console.WriteLn("Applying GS settings..."); GetMTGS().ApplySettings(); + GetMTGS().SetVSync(EmuConfig.GetEffectiveVsyncMode()); GetMTGS().WaitGS(); } } @@ -239,6 +240,7 @@ void SysCoreThread::_reset_stuff_as_needed() if (m_resetVsyncTimers) { + GetMTGS().SetVSync(EmuConfig.GetEffectiveVsyncMode()); UpdateVSyncRate(); frameLimitReset();