citra/src/audio_core/hle
Subv d7459354f5 Audio: Use std::deque instead of std::vector for the audio buffer type (StereoBuffer16).
The current code inserts and deletes elements from the beginning of the audio buffer, which is very inefficient in an std::vector.

Profiling was done using VisualStudio2017's Performance Analyzer in Super Mario 3D Land.

Before this change: AudioInterp::Linear had 14.14% of the runtime (inclusive) and most of that time was spent in std::vector's insert implementation.
After this change: AudioInterp::Linear has 0.36% of the runtime (inclusive)
2017-09-25 18:31:37 -05:00
..
common.h Remove empty newlines in #include blocks. 2016-09-21 11:15:47 +09:00
dsp.cpp DSP: Create backing memory for entire DSP RAM 2017-05-09 21:44:00 -07:00
dsp.h DSP: Create backing memory for entire DSP RAM 2017-05-09 21:44:00 -07:00
filter.cpp Use negative priorities to avoid special-casing the self-include 2016-09-21 00:15:56 -07:00
filter.h Doxygen: Amend minor issues (#2593) 2017-02-26 17:58:51 -08:00
mixers.cpp Remove empty newlines in #include blocks. 2016-09-21 11:15:47 +09:00
mixers.h Remove empty newlines in #include blocks. 2016-09-21 11:15:47 +09:00
pipe.cpp Add all services to the Service namespace 2016-12-11 00:07:27 +00:00
pipe.h Remove empty newlines in #include blocks. 2016-09-21 11:15:47 +09:00
source.cpp interpolate: Interpolate on a frame-by-frame basis 2017-08-28 10:54:41 +01:00
source.h Audio: Use std::deque instead of std::vector for the audio buffer type (StereoBuffer16). 2017-09-25 18:31:37 -05:00