Kernel: Correct redundant yields to only advance time forward.
This commit is contained in:
parent
7176857177
commit
27d571c084
|
@ -1577,10 +1577,12 @@ static void SleepThread(Core::System& system, s64 nanoseconds) {
|
|||
}
|
||||
|
||||
if (redundant) {
|
||||
system.CoreTiming().Idle();
|
||||
} else {
|
||||
system.PrepareReschedule(current_thread->GetProcessorID());
|
||||
// If it's redundant, the core is pretty much idle. Some games keep idling
|
||||
// a core while it's doing nothing, we advance timing to avoid costly continuos
|
||||
// calls.
|
||||
system.CoreTiming().AddTicks(2000);
|
||||
}
|
||||
system.PrepareReschedule(current_thread->GetProcessorID());
|
||||
}
|
||||
|
||||
/// Wait process wide key atomic
|
||||
|
|
Reference in New Issue