Hi,
On Saturday 28 March 2009 16:39:35 Ken Restivo wrote:
When a LADSPA plugin is being sent zeroes-- i.e. when
the volume of the
input data is down to nothing-- is it still sucking up CPU cycles?
I understand from the JACK API that anytime a client gets a callback with
data, it has to drop down and deal with the data and then return, even if
the data is zero. But that could be lightweight, if the data are zero, or
is that very compute-intensive for the plugin?
I'm trying to build an outboard effects chain in various LADSPA hosts (JACK
Rack, ecasound, AMS, others... haven't settled on one yet), and when I've
got that plugin's volume MIDI'ed down to zero, I'd like it to not be
dominating CPU cycles at that time.
Actually with double- (or any floating point-) resolution it is rather hard to
detect exact 0.0 values. And because of the variable exponent, the cpu usage
for numbers near zero is higher then for numbers near 1 (or any other higher
value). The keywords to search for are "denormal problems".
In practice this means that while setting a volume to zero "should" give you
the desired effect of less cpu-usage, in fact the opposite is the case in the
worst case. When you are already controlling your effects via midi, why not
bind the "mute" or "active" (don't remember the current naming in
jack-rack)
to a midi controller. An in-active effect shouldn't eat cpu cycles when the
host-author did his job right...
Have fun,
Arnold