If you're gonna do a revert, you might as well do it properly :P If you don't want it doing properly, give it to me.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5904 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
refraction 2014-02-16 16:21:08 +00:00
parent f3399ead26
commit 038d3bea87
1 changed files with 11 additions and 5 deletions

View File

@ -197,7 +197,7 @@ static void vSyncInfoCalc( vSyncTimingInfo* info, Fixed100 framesPerSecond, u32
// One test we have shows that VBlank lasts for ~22 HBlanks, another we have show that is the time it's off. // One test we have shows that VBlank lasts for ~22 HBlanks, another we have show that is the time it's off.
// There exists a game (Legendz Gekitou! Saga Battle) Which runs REALLY slowly if VBlank is ~22 HBlanks, so the other test wins. // There exists a game (Legendz Gekitou! Saga Battle) Which runs REALLY slowly if VBlank is ~22 HBlanks, so the other test wins.
u64 Blank = HalfFrame; // PAL VBlank Period is off for roughly 22 HSyncs u64 Blank = HalfFrame / 2; // PAL VBlank Period is off for roughly 22 HSyncs
//I would have suspected this to be Frame - Blank, but that seems to completely freak it out //I would have suspected this to be Frame - Blank, but that seems to completely freak it out
//and the test results are completely wrong. It seems 100% the same as the PS2 test on this, //and the test results are completely wrong. It seems 100% the same as the PS2 test on this,
@ -288,6 +288,11 @@ u32 UpdateVSyncRate()
if( isCustom ) if( isCustom )
Console.Indent().WriteLn( Color_StrongGreen, "... with user configured refresh rate: %.02f Hz", framerate.ToFloat() ); Console.Indent().WriteLn( Color_StrongGreen, "... with user configured refresh rate: %.02f Hz", framerate.ToFloat() );
hsyncCounter.CycleT = vSyncInfo.hRender; // Amount of cycles before the counter will be updated
vsyncCounter.CycleT = vSyncInfo.Render; // Amount of cycles before the counter will be updated
cpuRcntSet();
} }
Fixed100 fpslimit = framerate * Fixed100 fpslimit = framerate *
@ -484,16 +489,17 @@ __fi void rcntUpdate_vSync()
{ {
VSyncEnd(vsyncCounter.sCycle); VSyncEnd(vsyncCounter.sCycle);
vsyncCounter.sCycle += vSyncInfo.Render; vsyncCounter.sCycle += vSyncInfo.Blank;
vsyncCounter.CycleT = 0; vsyncCounter.CycleT = vSyncInfo.Render;
vsyncCounter.Mode = MODE_VRENDER; vsyncCounter.Mode = MODE_VRENDER;
} }
else // VSYNC end / VRENDER begin else // VSYNC end / VRENDER begin
{ {
VSyncStart(vsyncCounter.sCycle); VSyncStart(vsyncCounter.sCycle);
vsyncCounter.sCycle += vSyncInfo.Blank;
vsyncCounter.CycleT = 0; vsyncCounter.sCycle += vSyncInfo.Render;
vsyncCounter.CycleT = vSyncInfo.Blank;
vsyncCounter.Mode = MODE_VSYNC; vsyncCounter.Mode = MODE_VSYNC;
// Accumulate hsync rounding errors: // Accumulate hsync rounding errors: