Wake delayed threads directly, rather than looping.
This saves ~1% during fast forward on a release build.
This commit is contained in:
parent
da5026ea17
commit
f552cb3370
1 changed files with 3 additions and 1 deletions
|
@ -1079,7 +1079,9 @@ void __KernelWaitCurThread(WaitType type, SceUID waitID, u32 waitValue, u32 time
|
|||
void hleScheduledWakeup(u64 userdata, int cyclesLate)
|
||||
{
|
||||
SceUID threadID = (SceUID)userdata;
|
||||
__KernelTriggerWait(WAITTYPE_DELAY, threadID, "thread delay finished", true);
|
||||
u32 error;
|
||||
if (__KernelGetWaitID(threadID, WAITTYPE_DELAY, error) == threadID)
|
||||
__KernelResumeThreadFromWait(threadID);
|
||||
}
|
||||
|
||||
void __KernelScheduleWakeup(SceUID threadID, s64 usFromNow)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue