[LV2] Buffersize, Options and Externtion-Data

Filipe Coelho falktx at gmail.com
Wed Sep 9 15:43:07 PDT 2015

On 10-09-2015 00:05, Robin Gareus wrote:
> On 09/09/2015 11:21 PM, hermann meyer wrote:
>> Am 09.09.2015 23:15, schrieb David Robillard:
>>> I am not a fan of adding weird crap to the spec because ardour uses a
>>> fixed maximum because of analysis.  Plugins will all be allocating 8192
>>> buffers regardless of block size.  Maybe we don't care about memory all
>>> that much these days, but.... ugh.
>> Exactly what I said on IRC, what is it worth to provide this value other
>> then waste resources?
>    8 K/channel * 4 bytes/sample  = 32 KB/channel
> really? if you call this a waste, you save on the wrong end.
Let's take a worst-case, sorta real scenario.

Ardour session with 200 plugins.
JACK running at 128 buffer size.

Not all plugins will do allocations, but for the worst-case scenario 
let's assume they do.
Also let's assume all plugins are stereo, cause why not.

That makes 4 bytes/sample * 2 channels * (8192 - 128 samples) * 200 plugins.
I'm decreasing 128 samples because those actual save useful info.

That gives a value of 6515712 bytes, which is ~12Mb.
Which is not much, but all that memory is going to be fragmented.
The memory copying will likely increase too.

Anyway, conversation went all for IRC now so I won't bother much with 
this now.

There's only 2 things I hope we get with this:

1. make the min/max block length documentation state that those values 
are static for the lifetime of a plugin instance

2. add a new property that gets the value we've been discussing here and 

I don't think it's too much to ask, or is it?

More information about the Devel mailing list