On Fri, Apr 27, 2012 at 03:11:18PM +0200, Harald wrote:
2012/4/27 Matt Bard
: the second duration call was not made until several seconds into the program which leads me to think the issue lies somewhere else.
ok, I think I missed that point...
The second call makes the difference, so my theory doesn't apply here.
A duration call will probably throw away the buffer and allocate a new one. Also, clear() will loop throug the buffer and set all values to 0.
It looks like your laptop needs too much time for this.
Probably, yes. Especially allocating memory is a OS task and so depends on when the OS would like to get 'round to that. Most OS's are not optimised for realtime performance there. Therefore it's not recommended to allocate memory in programms that need realtime performance. Nice recommendation, but there is little news on how we are supposed to get samples and delays then. Simply demanding a big (say a gigabyte) chunk of ram at startup seems a bit crude. All of this is notoriously hard and the only real sollution (increasing the output buffer) goes at the direct expense of exactly *why* we wanted realtime performance :-). Sigh. Kas.