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);
|
Debug.Assert(inFinalTarget);
|
||||||
//apply the vsync setting (should probably try to avoid repeating this)
|
//apply the vsync setting (should probably try to avoid repeating this)
|
||||||
bool vsync = Global.Config.VSyncThrottle || Global.Config.VSync;
|
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)
|
if (LastVsyncSetting != vsync || LastVsyncSettingGraphicsControl != presentationPanel.GraphicsControl)
|
||||||
{
|
{
|
||||||
presentationPanel.GraphicsControl.SetVsync(vsync);
|
presentationPanel.GraphicsControl.SetVsync(vsync);
|
||||||
|
|
|
@ -1650,9 +1650,17 @@ namespace BizHawk.Client.EmuHawk
|
||||||
|
|
||||||
private void SyncThrottle()
|
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 fastforward = Global.ClientControls["Fast Forward"] || FastForward;
|
||||||
var superfastforward = IsTurboing;
|
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
|
// realtime throttle is never going to be so exact that using a double here is wrong
|
||||||
_throttle.SetCoreFps(Global.Emulator.CoreComm.VsyncRate);
|
_throttle.SetCoreFps(Global.Emulator.CoreComm.VsyncRate);
|
||||||
|
|
Loading…
Reference in New Issue