citra/src/audio_core
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
..
hle Audio: Use std::deque instead of std::vector for the audio buffer type (StereoBuffer16). 2017-09-25 18:31:37 -05:00
audio_core.cpp DSP: Create backing memory for entire DSP RAM 2017-05-09 21:44:00 -07:00
audio_core.h DSP: Create backing memory for entire DSP RAM 2017-05-09 21:44:00 -07:00
CMakeLists.txt CMake: Add SoundTouch include path to target property 2017-05-27 22:09:28 -07:00
codec.cpp Audio: Use std::deque instead of std::vector for the audio buffer type (StereoBuffer16). 2017-09-25 18:31:37 -05:00
codec.h Audio: Use std::deque instead of std::vector for the audio buffer type (StereoBuffer16). 2017-09-25 18:31:37 -05:00
interpolate.cpp Audio: Use std::deque instead of std::vector for the audio buffer type (StereoBuffer16). 2017-09-25 18:31:37 -05:00
interpolate.h Audio: Use std::deque instead of std::vector for the audio buffer type (StereoBuffer16). 2017-09-25 18:31:37 -05:00
null_sink.h SDL: Select audio device (#2403) 2017-01-25 22:33:26 -05:00
sdl2_sink.cpp SDL: Select audio device (#2403) 2017-01-25 22:33:26 -05:00
sdl2_sink.h fixed the override warning 2017-01-27 14:24:14 -06:00
sink.h Doxygen: Amend minor issues (#2593) 2017-02-26 17:58:51 -08:00
sink_details.cpp SDL: Select audio device (#2403) 2017-01-25 22:33:26 -05:00
sink_details.h SDL: Select audio device (#2403) 2017-01-25 22:33:26 -05:00
time_stretch.cpp Use negative priorities to avoid special-casing the self-include 2016-09-21 00:15:56 -07:00
time_stretch.h Doxygen: Amend minor issues (#2593) 2017-02-26 17:58:51 -08:00