mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-07 07:14:56 +01:00
DSP load calculation: favor peak over average.
This commit is contained in:
parent
729bc00f13
commit
e3cd57ecb6
3 changed files with 28 additions and 8 deletions
|
|
@ -1584,7 +1584,14 @@ CoreAudioBackend::process_callback (const uint32_t n_samples, const uint64_t hos
|
|||
/* calc DSP load. */
|
||||
clock2 = g_get_monotonic_time();
|
||||
const int64_t elapsed_time = clock2 - clock1;
|
||||
_dsp_load = elapsed_time / nominal_time;
|
||||
// low pass filter
|
||||
const float load = elapsed_time / (float) nominal_time;
|
||||
if (load > _dsp_load) {
|
||||
_dsp_load = load;
|
||||
} else {
|
||||
const float a = .1 * _samples_per_period / _samplerate;
|
||||
_dsp_load = _dsp_load + a * (load - _dsp_load) + 1e-12;
|
||||
}
|
||||
|
||||
pthread_mutex_unlock (&_process_callback_mutex);
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue