Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Disable Vsync while holding tab to disable the frame limit.
Fixes issue 6111.
  • Loading branch information
RachelBryk committed Mar 17, 2013
1 parent 106d7c3 commit 341eb87
Showing 1 changed file with 21 additions and 1 deletion.
22 changes: 21 additions & 1 deletion Source/Core/Core/Src/Core.cpp
Expand Up @@ -71,6 +71,8 @@
#include "State.h"
#include "Movie.h"

#include "VideoConfig.h"

// TODO: ugly, remove
bool g_aspect_wide;

Expand Down Expand Up @@ -603,6 +605,25 @@ void VideoThrottle()
u32 TargetVPS = (SConfig::GetInstance().m_Framelimit > 2) ?
(SConfig::GetInstance().m_Framelimit - 1) * 5 : VideoInterface::TargetRefreshRate;

static bool isUnthrottling = false;
static bool wasVSync = g_ActiveConfig.bVSync;

// Disable vsync while holding tab to disable the frame limit.
if (Host_GetKeyState('\t'))
{
if (!isUnthrottling)
wasVSync = g_ActiveConfig.bVSync;
if (g_ActiveConfig.bVSync)
g_Config.bVSync = false;
isUnthrottling = true;
}
else if (isUnthrottling)
{
isUnthrottling = false;
if (wasVSync)
g_Config.bVSync = true;
}

// Disable the frame-limiter when the throttle (Tab) key is held down. Audio throttle: m_Framelimit = 2
if (SConfig::GetInstance().m_Framelimit && SConfig::GetInstance().m_Framelimit != 2 && !Host_GetKeyState('\t'))
{
Expand Down Expand Up @@ -654,7 +675,6 @@ void Callback_VideoCopiedToXFB(bool video_update)
{
if(video_update)
Common::AtomicIncrement(DrawnFrame);
Movie::FrameUpdate();
}

// Callback_ISOName: Let the DSP emulator get the game name
Expand Down

0 comments on commit 341eb87

Please sign in to comment.