diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2019-10-09 00:35:04 +0200 |
---|---|---|
committer | FernandoS27 <fsahmkow27@gmail.com> | 2019-10-15 17:55:20 +0200 |
commit | 27d571c08436e7131f67fed2771434a571c1e976 (patch) | |
tree | 1b6714882be298ae3c7e3f616039237861dbe0b9 /src/core | |
parent | Kernel: Corrections to ModifyByWaitingCountAndSignalToAddressIfEqual (diff) | |
download | yuzu-27d571c08436e7131f67fed2771434a571c1e976.tar yuzu-27d571c08436e7131f67fed2771434a571c1e976.tar.gz yuzu-27d571c08436e7131f67fed2771434a571c1e976.tar.bz2 yuzu-27d571c08436e7131f67fed2771434a571c1e976.tar.lz yuzu-27d571c08436e7131f67fed2771434a571c1e976.tar.xz yuzu-27d571c08436e7131f67fed2771434a571c1e976.tar.zst yuzu-27d571c08436e7131f67fed2771434a571c1e976.zip |
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/hle/kernel/svc.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index 823d1d403..101f72b7d 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp @@ -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 |