Mitigate issues of expensive plugin analysis -- #7795
authorRobin Gareus <robin@gareus.org>
Sat, 24 Aug 2019 15:11:10 +0000 (17:11 +0200)
committerRobin Gareus <robin@gareus.org>
Sat, 24 Aug 2019 15:11:10 +0000 (17:11 +0200)
commit3f19db4180903425d5807a7a31262c9769683c8f
tree3d986ec895db66d95c9f9dedf7a51b102623d106
parentab62c8a926360a0de62750a264d88b4aaa93b2b9
Mitigate issues of expensive plugin analysis -- #7795

Plugin analysis uses a GUI thread instance of a given plugin to
perform a IR analysis.

Some plugins can be rather CPU expensive to analyze.
e.g. a-hi/lo-filter when interpolating is recalculating biquad
coefficients every 64samples during the 8k IR analysis. This can take
a significant amount of time on older CPUs.

Furthermore live-signal collection happens in the rt-thread,
using cross-thread signals. Signal collection is  periodically initiated
from the same timeout signal as analysis.

Analysis is was done using default thread priority, which is higher
than the GUI redraw priority (PRIORITY_HIGH_IDLE).

So it was possible to contiguously initiate analysis, loading the CPU
and preventing redraws.
gtk2_ardour/plugin_eq_gui.cc