[gmpi] Re: Req 76,78

  • From: "Didier Dambrin" <didid@xxxxxxxxx>
  • To: <gmpi@xxxxxxxxxxxxx>
  • Date: Fri, 4 Feb 2005 04:35:22 +0100

with all due respect, if most of your experience of programming is
based on windows, you don't a very good sense of what is possible in
general. the whole of JACK is based on IPC, and it performs better (or
at least as well as) anything we've seen reported for various windows
APIs. i accept that window's capabilities for IPC may be lacking, but
they are not non-existent and they are not unusable.

Right now it's also very inefficient, and probably related to the task
switcher. I don't know what's planned in longhorn here, but I don't see any
good reason for them to change that.

there are lots of good reasons for them to change it, primarily because what they have right now is crap. they have the worst context switch times of any OS that ever ran on an x86, and they know it.

task switching timing is just a tradeoff between CPU (wasted in the task switching) and efficiency, and I think it's quite good (especially with the huge background/legacy windows has to support/sometimes emulate)

True, with such small latencies, there are some lower-level stuff in windows
that can sometimes interrupt the flow. But I don't see how this is related
with our problem anyway.

the only reason that the efficiency of IPC matters is that it can block the realtime audio processing.

uh? how differently than a process? If your answer is that you can adjust process priorities, well, you can do the same for threads.
Here again it's a tradeoff, a balance between CPU spent on processing or on the UI. Usually there's a little more for the processing, but the GUI isn't to be neglected.

its never slow enough to be
visible to the GUI user, even on windows, but if not done right, it
can certainly cause glitches in the audio stream *when the latency
settings are low*.

set your process to a higher priority, and that's more CPU to give to spread on your threads if you want.

another process can surely break the audio flow in windows, same as for a thread. It's not even a technical problem, it's a logical problem. Your CPU resources aren't infinite, and if there isn't enough for both, one or the other will freeze.

Generalized Music Plugin Interface (GMPI) public discussion list
Participation in this list is contingent upon your abiding by the
following rules:  Please stay on topic.  You are responsible for your own
words.  Please respect your fellow subscribers.  Please do not
redistribute anyone else's words without their permission.

Archive: //www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe

Other related posts: