[ardour-dev] Ancient history? - Problem identified
Joel White
cv223 at comcast.net
Sat Nov 6 19:55:28 PST 2004
(Note that I didn't write "Problem solved" - I don't know how to solve
it, besides a hack described below)
About a week ago, I posted a message asking about possible reasons why
xruns seen using 0.9beta11.2 when recording to a SCSI Raid0 went away
with 0.9beta12 (on a 2.4.23 kernel). Paul took pity on my poor,
tormented soul and let me have cvs access (thanks again, Paul!) so I
could try and track down the problem. I went through a number of old
cvs versions by the dates of "CVS commit" messages to the ardour-dev
list (not sequentially - I don't have _that_ much time!) and found the
smoking gun to be on May 7, 2004, when Jesse Chappell committed code to
put waveforms into regions while recording. That code pointed out where
the problem was.
To make a long story somewhat shorter, it turns out that on my system,
updating the regions during recording (even with "Follow playhead"
turned off) generates xruns when the SCSI Raid is written to (i.e.,
xruns occur when the drives chirp). Specifically, if I comment out line
700 in streamview.cc (this is in routine StreamView::update_rec_box()
in 0.9beta19):
// gtk_canvas_item_set (rect, "x2", xend, NULL);
and run Ardour with the Display Option "Show waveforms while recording"
turned off, I get no (zero!) xruns while recording to the SCSI Raid,
where before I got > 25 per 1 minute of recording. Of course, I don't
get the pinkish boxes growing across the screen, but I can live with that.
If I don't comment out that line, I get just as many xruns on the newer
versions of Ardour as before - I hadn't tried turning "Show
waveforms..." off before I started on my cvs quest. I guess I thought
the waveforms during recording were too cool.
Turning on the "Show waveforms..." still generates about 3 xruns per
minute of recording, so I still don't know what's going on there (other
gtk canvas access, perhaps?). Also, running under the
2.6.9-rc2-mm4-VP-S7 kernel still generates a handful of xruns per minute
on either Raid or IDE drives even with the above hack, so something
different still seems to be happening with that kernel. I'll stick with
2.4.23 for now.
If anybody has any ideas about what may be going on (how gtk canvas
access + SCSI Raid writes = xruns), I'm still curious. Also, I'm
willing to try additional tests, if it would be helpful.
BTW, this is with gtk+ version 1.2.10.
Thanks for your time,
Joel
More information about the Ardour-Dev
mailing list