[XAM] Remove XMP polling throttle sleeps

Fixes audio in Tekken Tag 2 and Def Jam Icon. Improves framerates in
Radiant Silvergun and Split/Second.
This commit is contained in:
Herman S
2026-07-23 16:56:24 +02:00
committed by Gliniak
parent 913ec6b9b2
commit ed4540a641

View File

@@ -8,7 +8,6 @@
*/
#include "xenia/kernel/xam/apps/xmp_app.h"
#include "xenia/kernel/xthread.h"
#include "xenia/base/logging.h"
#include "xenia/emulator.h"
@@ -24,12 +23,6 @@ namespace apps {
XmpApp::XmpApp(KernelState* kernel_state) : App(kernel_state, 0xFA) {}
X_HRESULT XmpApp::XMPGetStatus(uint32_t state_ptr) {
if (!XThread::GetCurrentThread()->main_thread()) {
// Some stupid games will hammer this on a thread - induce a delay
// here to keep from starving real threads.
xe::threading::Sleep(std::chrono::milliseconds(1));
}
if (!state_ptr) {
return X_E_INVALIDARG;
}
@@ -423,11 +416,6 @@ X_HRESULT XmpApp::DispatchMessageSync(uint32_t message, uint32_t buffer_ptr,
*playback_controller_locked = !media_player->IsTitleInPlaybackControl();
if (!XThread::GetCurrentThread()->main_thread()) {
// Atrain spawns a thread 82437FD0 to call this in a tight loop forever.
xe::threading::Sleep(std::chrono::milliseconds(10));
}
// Assert if game is not in control of playback.
assert_true(media_player->GetPlaybackController() ==
apu::PlaybackController::Game);