diff --git a/Source/Core/Core/IOS/USB/Bluetooth/BTEmu.cpp b/Source/Core/Core/IOS/USB/Bluetooth/BTEmu.cpp index a63ca59ba9..8e89cc927f 100644 --- a/Source/Core/Core/IOS/USB/Bluetooth/BTEmu.cpp +++ b/Source/Core/Core/IOS/USB/Bluetooth/BTEmu.cpp @@ -347,10 +347,13 @@ void BluetoothEmuDevice::Update() wiimote->Update(); const u64 interval = GetSystem().GetSystemTimers().GetTicksPerSecond() / Wiimote::UPDATE_FREQ; - const u64 now = GetSystem().GetCoreTiming().GetTicks(); + auto& core_timing = GetSystem().GetCoreTiming(); + const u64 now = core_timing.GetTicks(); if (now - m_last_ticks > interval) { + // Throttle before Wii Remote update so input is taken just before needed. (lower input latency) + core_timing.Throttle(now); g_controller_interface.SetCurrentInputChannel(ciface::InputChannel::Bluetooth); g_controller_interface.UpdateInput();