[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] Underruns using the simplest gnuradio-companion f
Re: [Discuss-gnuradio] Underruns using the simplest gnuradio-companion flow graph
Tue, 20 Nov 2012 12:58:14 -0800
On Tue, Nov 20, 2012 at 12:42 PM, Olof Tangrot <address@hidden>
Isn't there anything I can do to improve the real-time performance of gnuradio-companion?
It may seem unintuitive, but remove the throttle block. GNU Radio flowgraphs operate in a demand driven fashion. The audio sink is consuming data at a fixed rate from the output buffer of the preceding block, which is the re-filled as needed by the preceding block. The GNU Radio scheduler will only call the work function of the upstream block as needed to keep it's output buffer full.
Throttle blocks are intended for use when there is no other block that is rate limiting. In this case, the audio sink is the rate limiter. When you add the throttle, you have the "two clock" problem. In your case, the PC clock is operating more slowly (relatively) than the audio card clock, so the throttle block is pacing samples too slowly to keep up with the consumption rate of the audio block.