IPCHLE: improve HLE timing.
This change attempts to make calls to WII_IPC_HLE_Interface::Update() more consistent. We should be calling it whenever there is something we can pop from a queue, and this patch does that. DeviceUpdate() now works independently of Update(): it's now just a periodic timer for devices which need to regularly update state. With this change, we need a non-zero default delay for IPC replies because replies are popped off the queue much more aggressively. This fixes launching channels from the the System Menu.
This commit is contained in:
1 parent
d7736ac714
commit
063ab30e3d
5 files changed
+35
-40
No files matched your search
@@ -165,7 +165,7 @@ void IPC_HLE_UpdateCallback(u64 userdata, int cyclesLate)
|
||||
{
|
||||
if (SConfig::GetInstance().m_LocalCoreStartupParameter.bWii)
|
||||
{
|
||||
WII_IPC_HLE_Interface::Update();
|
||||
WII_IPC_HLE_Interface::UpdateDevices();
|
||||
CoreTiming::ScheduleEvent(IPC_HLE_PERIOD - cyclesLate, et_IPC_HLE);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user