If the GUI is not running in realtime, then things like changing theJens I disagree here: given the slowness of X11 and/or some gfx card/PC combination,
patch number from the midi stream won't be reflected instantaniously on
screen. To the contrary: You can almost imagine SuperMario running up
and down the interface with his little brushes, slowly repainting each
and every knob and slider :-) This happens even if the realtime audio
engine is near idle.
The audio engine can still have priority over the GUI. That is to say: The GUI is another realtime process albeit with a much lower priority (than the audio engine.)
if you run the GUI process with real time privileges, you can run into situations where
the box becomes unusable because the GUI uses up all the available CPU.
(Imagine a sequencer updating dozen of pianorolls, volume peak meters, FFT displays etc,
this can easily bring a 2GHz box on its knees).
So what I propose is to run the GUI with some negative nice value, eg -10 but not
with SCHED_FIFO/RR.
Plus if the machine is under high load because the audio thread uses up 90% of the CPU then
even running the GUI with real time scheduling won't chane anything, repaints would still be slow.
Benno http://www.linuxsampler.org
