|
|
@ -1577,10 +1577,12 @@ static void SleepThread(Core::System& system, s64 nanoseconds) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (redundant) {
|
|
|
|
if (redundant) {
|
|
|
|
system.CoreTiming().Idle();
|
|
|
|
// If it's redundant, the core is pretty much idle. Some games keep idling
|
|
|
|
} else {
|
|
|
|
// a core while it's doing nothing, we advance timing to avoid costly continuos
|
|
|
|
system.PrepareReschedule(current_thread->GetProcessorID());
|
|
|
|
// calls.
|
|
|
|
|
|
|
|
system.CoreTiming().AddTicks(2000);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
system.PrepareReschedule(current_thread->GetProcessorID());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// Wait process wide key atomic
|
|
|
|
/// Wait process wide key atomic
|
|
|
|