Steve Harris wrote: > On Tue, Aug 13, 2002 at 12:23:28 +0200, günter geiger wrote: > >>Actually I think for output only applications you could get off without a >>redesign. Just write your data to a buffer and wait until the process() >>fetches it. This will introduce a buffer copy, but the overhead is minimal >>and you can happily play into your favourite soundeditor. (Which is what >>we want). > > > True, but I think this is not ideal. The jack (ASIO, CoreAudio etc.) model > has some advantages in app design, so I think it is better to change the > model where possible. Plus, as you said, there is an additional copy.
If I understand Paul Davis' arguments correctly, the main motivation for the Jack design instead of the read/write approach is improved latency. I think there's a tradeoff to be made, though: latency vs. efficiency. Many algorithms can be written more efficiently in a vector form with fixed vector sizes (cfr. fft). However, as Paul has made clear, this buffering introduces inherent latency. Peter > - Steve >