[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:
parent
02f5316562
commit
94473eda19
|
@ -35,9 +35,10 @@
|
||||||
// and let the normal AudioSystem handling take it, to prevent duplicate
|
// and let the normal AudioSystem handling take it, to prevent duplicate
|
||||||
// implementations. They can be found in xboxkrnl_audio_xma.cc
|
// 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 "
|
"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");
|
"APU");
|
||||||
|
|
||||||
namespace xe {
|
namespace xe {
|
||||||
|
@ -48,7 +49,9 @@ AudioSystem::AudioSystem(cpu::Processor* processor)
|
||||||
processor_(processor),
|
processor_(processor),
|
||||||
worker_running_(false) {
|
worker_running_(false) {
|
||||||
std::memset(clients_, 0, sizeof(clients_));
|
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) {
|
for (size_t i = 0; i < kMaximumClientCount; ++i) {
|
||||||
client_semaphores_[i] = xe::threading::Semaphore::Create(0, queued_frames_);
|
client_semaphores_[i] = xe::threading::Semaphore::Create(0, queued_frames_);
|
||||||
|
|
Loading…
Reference in New Issue