1)For the planet. It's not like I made peace with OS scheduler for speed critical code, but in that case this really helps showing the load balancing between CPU and GPU. When CPU core load drops, GPU devs knows what to do :p. Thanks tinctorius for indirectly pointing this.
2) Tweak FAKE_GP_WATCHDOG_PERIOD for a bit more GPU asynchronicity. ZTP still ok here but tell me if it breaks games in DC. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1866 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
b5367bea46
commit
32ef02c959
|
@ -190,7 +190,7 @@ void IncrementGPWDToken()
|
|||
void WaitForFrameFinish()
|
||||
{
|
||||
while ((fake_GPWatchdogLastToken == fifo.Fake_GPWDToken) && fifo.bFF_GPReadEnable && (fifo.CPReadWriteDistance > 0) && !(fifo.bFF_BPEnable && fifo.bFF_Breakpoint))
|
||||
;
|
||||
Common::SleepCurrentThread(1);
|
||||
fake_GPWatchdogLastToken = fifo.Fake_GPWDToken;
|
||||
}
|
||||
|
||||
|
|
|
@ -132,9 +132,11 @@ int
|
|||
IPC_HLE_PERIOD = GetTicksPerSecond() / 250,
|
||||
|
||||
// For DC watchdog hack
|
||||
// Once every 2 frame-period should be enough.
|
||||
// Assuming game's frame-finish-watchdog wait more than 2 emulated frame-period before starting its mess.
|
||||
FAKE_GP_WATCHDOG_PERIOD = GetTicksPerSecond() / 30;
|
||||
// Once every 10 frame-period seems to be enough (arbitrary taking 60fps as the ref).
|
||||
// TODO: make it VI output frame rate compliant (30/60 and 25/50)
|
||||
// Assuming game's frame-finish-watchdog wait more than 10 emulated frame-period before starting its mess.
|
||||
// Note: 1/4 sec is the very maximum for ZTP to work in DC... 1/6 for safety.
|
||||
FAKE_GP_WATCHDOG_PERIOD = GetTicksPerSecond() / 6;
|
||||
///////////////////////////////////
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue