address some problems with fast forward vs vsync (mostly, it not working)
This commit is contained in:
parent
6428b07d0a
commit
86e24011ae
|
@ -600,6 +600,14 @@ TESTEROO:
|
|||
Debug.Assert(inFinalTarget);
|
||||
//apply the vsync setting (should probably try to avoid repeating this)
|
||||
bool vsync = Global.Config.VSyncThrottle || Global.Config.VSync;
|
||||
|
||||
//ok, now this is a bit undesireable.
|
||||
//maybe the user wants vsync, but not vsync throttle.
|
||||
//this makes sense... but we dont have the infrastructure to support it now (we'd have to enable triple buffering or something like that)
|
||||
//so what we're gonna do is disable vsync no matter what if throttling is off, and maybe nobody will notice.
|
||||
if (Global.ForceNoThrottle)
|
||||
vsync = false;
|
||||
|
||||
if (LastVsyncSetting != vsync || LastVsyncSettingGraphicsControl != presentationPanel.GraphicsControl)
|
||||
{
|
||||
presentationPanel.GraphicsControl.SetVsync(vsync);
|
||||
|
|
|
@ -1650,9 +1650,17 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private void SyncThrottle()
|
||||
{
|
||||
//TODO - this is a bit confusing. theres a difference between signal_unthrottle and Global.ForceNoThrottle. Isn't that kind of weird?
|
||||
//someone should evaluate these different modes and clean that up.
|
||||
|
||||
//TODO - did we change 'unthrottled' nomenclature to turbo? is turbo defined as 'temporarily disable throttle entirely'?
|
||||
|
||||
var fastforward = Global.ClientControls["Fast Forward"] || FastForward;
|
||||
var superfastforward = IsTurboing;
|
||||
Global.ForceNoThrottle = _unthrottled || fastforward;
|
||||
|
||||
//zero 11-oct-2014 - i think this is more correct..
|
||||
//Global.ForceNoThrottle = _unthrottled || fastforward;
|
||||
Global.ForceNoThrottle = _unthrottled || fastforward || superfastforward;
|
||||
|
||||
// realtime throttle is never going to be so exact that using a double here is wrong
|
||||
_throttle.SetCoreFps(Global.Emulator.CoreComm.VsyncRate);
|
||||
|
|
Loading…
Reference in New Issue