[alsa-devel] seq: timing unstable on slow computer when busy
Hi there,
I'm trying to use a simple (self written) sequencer application on an old laptop with a 350 MHz CPU. It works, but the timing of output events becomes unstable when my program is busy with things like scheduling events for the subsequent loop or an unmuted track.
I'm wondering about the best approach to tackle this problem. Depending on how the priority of the kernel's event scheduling is related to the priority of an application, I could imagine some of the following measures: * Running my process with lower or higher priority * Using (priorized) threads for the event scheduling * Setting Linux kernel config options * Setting ALSA related options (driver or lib) * ...
While playing midi, I'm scheduling an echo event a few ticks before the end of every sequence, upon which a function to schedule the events of the next sequence is called. What is the typical length of this scheduling span: Just one bar? Or longer?
Many thanks in advance, Gerald
BTW: My operation system is Gentoo's Linux 2.6.19 with alsa-driver 1.0.14_rc1.
On 4/7/07, Gerald Grabner gerald.grabner@gmx.net wrote:
- Using (priorized) threads for the event scheduling
This is the best solution - run your time sensitive threads with SCHED_FIFO and a high priority (80 or so). I think the relavant man page is sched_setscheduler.
Lee
participants (2)
-
Gerald Grabner
-
Lee Revell