On Wednesday 16 February 2011, at 00.33.49, Jens M Andreasen
<jens.andreasen(a)comhem.se> wrote:
[...]
The same effect can be observed with 64 frames and 16
appears to be the
optimal value in the loop.
[...]
To quick to post there!
This could mean that you simply have too little buffering between input and
output. Does your application actually define that? (With read()/write() APIs,
you usually have to do this by "pre-buffering" on the output before entering
the actual processing loop.)
The reason why it works better with 16 frames is probably that the driver
starts by waiting for your write()s to fill upp the output buffer, thus adding
one DMA buffer's worth of extra buffering between the input and output.
--
//David Olofson - Consultant, Developer, Artist, Open Source Advocate
.--- Games, examples, libraries, scripting, sound, music, graphics ---.
|
http://consulting.olofson.net http://olofsonarcade.com |
'---------------------------------------------------------------------'