From: Jonathan W. <jw...@ju...> - 2012-04-03 23:32:29
|
On Tue, Apr 03, 2012 at 03:52:31PM +0200, Clemens Ladisch wrote: > Jonathan Woithe wrote: > > I've been wondering what the rationale is for recommending (in the README > > file and elsewhere) that users of the "firewire" jack backend use "-n 3" > > (that is, 3 buffers) rather than 4 (or some other number). ... > > "-n 2" would be optimal (if you want low latency) in theory, but FFADO > has the problem that interrupts are generated after a fixed number of > packets, which is not necessarily immediately after a period boundary. > > It might be possible to get two periods to work reliably by increasing > min_interrupts_per_period to some value larger than 2. > > An alternative would be to change FFADO to use its own timer to wait for > the end of the period and then to explicitly flush packets from the > kernel (possible only with the old stack or with Juju in kernel 3.4 or > later). Ok, so 3 is just the smallest value of "-n" which can be expected to work. One could validly use higher values and still expect things to work, but for lowest latencies 3 is it. At this stage I see no compelling reason to alter FFADO at this point in time in order to reduce this minimum "-n" value to 2. I posed the original question because I was curious as to where the value of 3 came from; some comments I've seen around tend to suggest the "3" is *the* value to use and that nothing else is expected to work. Your explanation clears that up - thanks! Regards jonathan |