Re: [LAU] Realtime latency kernel testing

From: Gabriel M. Beddingfield <gabrbedd@email-addr-hidden>
Date: Wed Jan 12 2011 - 15:03:54 EET

On Friday, January 07, 2011 04:18:57 pm Gabriel M.
Beddingfield wrote:
> Before I FUD someone else's application... a perfect
> example is StretchPlayer (using RubberBand). I can't
> get it to be RT-safe at <256... and it's marginal at
> 256.

FYI, I did some testing with RubberBand and found that it
has a fixed minimum processing window/time of 512 frames.
This makes it dangerous to use with <512 frames/period
because it does too much work in one period.

For example, at 64 frames/period I measured these processing
times for subsequent process() cycles:

Process time = 1533 usecs
Process time = 1851 usecs
Process time = 1787 usecs
Process time = 26 usecs
Process time = 18 usecs
Process time = 20 usecs
Process time = 22 usecs
Process time = 19 usecs
Process time = 18 usecs
Process time = 21 usecs
Process time = 22 usecs
Process time = 20 usecs
Process time = 17 usecs
Process time = 18 usecs
Process time = 21 usecs
Process time = 18 usecs
Process time = 21 usecs
Process time = 26 usecs
Process time = 22 usecs
Process time = 27 usecs
Process time = 20 usecs
Process time = 30 usecs
Process time = 27 usecs
Process time = 66 usecs
Process time = 1893 usecs
Process time = 18 usecs
Process time = 29 usecs
Process time = 24 usecs
Process time = 20 usecs
Process time = 18 usecs
Process time = 22 usecs
Process time = 18 usecs
Process time = 1518 usecs
Process time = 20 usecs
Process time = 21 usecs
Process time = 23 usecs
Process time = 21 usecs
Process time = 17 usecs
Process time = 22 usecs
Process time = 21 usecs
Process time = 1654 usecs

I.e. it does all its calculations every 8 periods
(512/64)... instead of doing a little bit in each period.

This behavior makes it dangerous to use RubberBand at less
than 512 frames/period because it eats up your processor
headroom. However, if you have a really fast processor you
can usually get away with it.

It looks like it's possible to make the window smaller by
hacking RubberBand... but I can't figure out how to do it
through the public API.

-gabriel
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-user
Received on Wed Jan 12 16:15:03 2011

This archive was generated by hypermail 2.1.8 : Wed Jan 12 2011 - 16:15:04 EET