Jens M Andreasen wrote:
If the GUI is not running in realtime, then things like
changing the
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.)
Jens I disagree here: given the slowness of X11 and/or some gfx card/PC
combination,
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