diff options
| author | 2018-12-11 11:45:53 -0500 | |
|---|---|---|
| committer | 2018-12-11 11:45:53 -0500 | |
| commit | 2c6679bb013af6c153e36b35606dddcc75f129dc (patch) | |
| tree | dbf9d1c2c1cb8daa2b7e7de86391612b519072ae /src/audio_core/audio_renderer.cpp | |
| parent | Merge pull request #1888 from marcosvitali/glFrontFacing (diff) | |
| parent | Avoid (expensive) audio interpolation when sample rates already match (diff) | |
| download | yuzu-2c6679bb013af6c153e36b35606dddcc75f129dc.tar.gz yuzu-2c6679bb013af6c153e36b35606dddcc75f129dc.tar.xz yuzu-2c6679bb013af6c153e36b35606dddcc75f129dc.zip | |
Merge pull request #1877 from heapo/audio_interp
Perf: Avoid (expensive) audio interpolation when sample rates already match
Diffstat (limited to 'src/audio_core/audio_renderer.cpp')
| -rw-r--r-- | src/audio_core/audio_renderer.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/audio_core/audio_renderer.cpp b/src/audio_core/audio_renderer.cpp index 2e59894ab..2683f3a5f 100644 --- a/src/audio_core/audio_renderer.cpp +++ b/src/audio_core/audio_renderer.cpp | |||
| @@ -285,8 +285,11 @@ void AudioRenderer::VoiceState::RefreshBuffer() { | |||
| 285 | break; | 285 | break; |
| 286 | } | 286 | } |
| 287 | 287 | ||
| 288 | samples = | 288 | // Only interpolate when necessary, expensive. |
| 289 | Interpolate(interp_state, std::move(samples), GetInfo().sample_rate, STREAM_SAMPLE_RATE); | 289 | if (GetInfo().sample_rate != STREAM_SAMPLE_RATE) { |
| 290 | samples = Interpolate(interp_state, std::move(samples), GetInfo().sample_rate, | ||
| 291 | STREAM_SAMPLE_RATE); | ||
| 292 | } | ||
| 290 | 293 | ||
| 291 | is_refresh_pending = false; | 294 | is_refresh_pending = false; |
| 292 | } | 295 | } |