From 5ff94743c15a8a2b7a8a2940de81f3d6e8083644 Mon Sep 17 00:00:00 2001 From: ramapcsx2 Date: Fri, 4 Dec 2009 22:37:20 +0000 Subject: [PATCH] Disable Vsync when using the F9 renderer switch. Explanation why in the source :p git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2308 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/MTGS.cpp | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/pcsx2/MTGS.cpp b/pcsx2/MTGS.cpp index a3d7e68d56..fea88bb927 100644 --- a/pcsx2/MTGS.cpp +++ b/pcsx2/MTGS.cpp @@ -188,9 +188,6 @@ void SysMtgsThread::OpenPlugin() GSsetBaseMem( RingBuffer.Regs ); GSirqCallback( dummyIrqCallback ); - if( renderswitch ) - Console.Indent(2).WriteLn( "Forced software switch enabled." ); - int result; if( GSopen2 != NULL ) @@ -198,7 +195,24 @@ void SysMtgsThread::OpenPlugin() else result = GSopen( (void*)&pDsp, "PCSX2", renderswitch ? 2 : 1 ); - GSsetVsync( EmuConfig.GS.FrameLimitEnable && EmuConfig.GS.VsyncEnable ); + // Vsync on / off ? + if( renderswitch ) + { + Console.Indent(2).WriteLn( "Forced software switch enabled." ); + if (EmuConfig.GS.VsyncEnable) + { + // Better turn Vsync off now, as in most cases sw rendering is not fast enough to support a steady 60fps. + // Having Vsync still enabled then means a big cut in speed and sloppy rendering. + // It's possible though that some users have very fast machines, and rather kept Vsync enabled, + // but let's assume this is the minority. At least for now ;) + GSsetVsync( false ); + Console.Indent(2).WriteLn( "Vsync temporarily disabled" ); + } + } + else + { + GSsetVsync( EmuConfig.GS.FrameLimitEnable && EmuConfig.GS.VsyncEnable ); + } if( result != 0 ) {