On Thu, 2010-06-17 at 00:29 -0400, Jeremy wrote:
> Hi,
>
>
> When I'm programming, I find it immensely helpful to be able to plot
> audio data at different points in its processing, for debugging, and
> to test new ideas.
>
>
> Essentially I want an oscilloscope, which plots each chunk of 1024
> samples.
>
>
> I've tried using libplot, but it seems too slow.  It's causing
> constant xruns, even when I only plot every 5th sample.
>
>
> I thought that maybe libplot was too abstract, and that I needed to
> draw the pixels on the screen directly.  I tried using SDL, but it
> caused excessive xruns also.  Simply setting 48000 pixels per second
> was enough to cause the flow of xruns.  This is  *not* erasing the
> screen, just drawing the points.  I'd expect that erasing the screen
> is the slow part, but apparently not.
>
>
> At this point I'm not sure if it's even possible to plot the audio
> data in realtime.  I did a rough calculation, that on my 2 Ghz cpu, it
> should have roughly 40,000 cycles to process each sample.  It seems to
> me that considering running the whole plugin only uses 1/4 of my cpu,
> the other 30000 cycles should be plenty to put a pixel on the screen.
>
>
> So I would guess that something else is the bottleneck, like my video
> chip, or maybe the libraries I'm using.
>
>
> So basically my question is:  Has anyone else had any luck with
> plotting audio data in real time, and if so, how?  Is it not possible
> to plot every sample, but only a certain percentage of them?  Is there
> a fundamental restriction on doing so, or is my problem in software?
 I'm going to assume you're plotting directly within the realtime process