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.
This commit is contained in:
parent
ab62c8a926
commit
3f19db4180
|
@ -224,7 +224,7 @@ void
|
|||
PluginEqGui::start_updating ()
|
||||
{
|
||||
if (!_update_connection.connected() && is_visible()) {
|
||||
_update_connection = Glib::signal_timeout().connect (sigc::mem_fun (this, &PluginEqGui::timeout_callback), 250);
|
||||
_update_connection = Glib::signal_timeout().connect (sigc::mem_fun (this, &PluginEqGui::timeout_callback), 250, Glib::PRIORITY_DEFAULT_IDLE);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue