[APU] Changed default value of apu_max_queued_frames to 8.

Added ability to set it even lower to 4. However this might impact CPU usage.
This commit is contained in:
Gliniak 2024-08-31 20:39:48 +02:00
parent 02f5316562
commit 94473eda19
1 changed files with 6 additions and 3 deletions

View File

@ -35,9 +35,10 @@
// and let the normal AudioSystem handling take it, to prevent duplicate
// implementations. They can be found in xboxkrnl_audio_xma.cc
DEFINE_uint32(apu_max_queued_frames, 64,
DEFINE_uint32(apu_max_queued_frames, 8,
"Allows changing max buffered audio frames to reduce audio "
"delay. Minimum is 16.",
"delay. Lowering this value might cause performance issues. "
"Value range: [4-64]",
"APU");
namespace xe {
@ -48,7 +49,9 @@ AudioSystem::AudioSystem(cpu::Processor* processor)
processor_(processor),
worker_running_(false) {
std::memset(clients_, 0, sizeof(clients_));
queued_frames_ = std::max(cvars::apu_max_queued_frames, (uint32_t)16);
queued_frames_ = std::min(
static_cast<uint32_t>(kMaximumQueuedFrames),
std::max(cvars::apu_max_queued_frames, static_cast<uint32_t>(4)));
for (size_t i = 0; i < kMaximumClientCount; ++i) {
client_semaphores_[i] = xe::threading::Semaphore::Create(0, queued_frames_);