Skip to content

Commit

Permalink
perf: prereserve some audio buffers
Browse files Browse the repository at this point in the history
  • Loading branch information
jcelerier committed Dec 1, 2024
1 parent 44f7dd9 commit 6499349
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions src/plugins/score-plugin-engine/Execution/DocumentPlugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,20 @@ void DocumentPlugin::reload(bool forcePlay, Scenario::IntervalModel& cst)
}

m_tid = startTimer(32);

auto& audio_buffers = ossia::audio_buffer_pool::instance();
std::vector<ossia::audio_channel> temp_vectors;
temp_vectors.resize(audio_buffers.buffers.size_approx());
audio_buffers.buffers.try_dequeue_bulk(
temp_vectors.begin(), audio_buffers.buffers.size_approx());
const auto bs = m_context.app.settings<Audio::Settings::Model>().getBufferSize();
if(temp_vectors.size() < 100)
temp_vectors.resize(100);
for(auto& vec : temp_vectors)
vec.reserve(bs + 16);
audio_buffers.buffers.enqueue_bulk(
std::make_move_iterator(temp_vectors.begin()), temp_vectors.size());

// runAllCommands();
}

Expand Down

0 comments on commit 6499349

Please sign in to comment.