<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 11, 2016 at 7:17 AM, Patrick Shirkey <span dir="ltr"><<a href="mailto:pshirkey@boosthardware.com" target="_blank">pshirkey@boosthardware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
On Fri, March 11, 2016 6:58 pm, Robin Gareus wrote:<br>
> On 03/11/2016 08:03 AM, Patrick Shirkey wrote:<br>
>> If this cannot be fixed in JACK directly we should be able to spin up<br>
>> multiple instances on the same machine and have them play nice with each<br>
>> other.<br>
><br>
> and how would that be different from splitting the current graph in JACK<br>
> and not preform worse?<br>
<br>
</span>Currently it seems that we cant do either so which method is preferable?<br>
<br>
According to Jonathan's results he is finding a bottle neck with JACK DSP<br>
with a single server. In the absense of a fix for JACK so that it is not a<br>
bottle neck his solution is to run multiple servers on the same machine.<br>
However it seems that it is not possible to have more than 2 instances of<br>
JACK running on the same machine without using a virtual<br>
machine/environment.<br>
<br>
According to Paul the issue is that we should not rely on JACK to create a<br>
processing graph like Jonathans.<br></blockquote><div><br><br></div><div>Not quite what I said, but close enough.<br><br></div><div>20 context switches minimum per process() cycle. This isn't dramatic, but it is notable. Some of them might not be context switches if the "Mixer" stuff is actually an example of a multi-client process - I don't know.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
I don't see much difference between a single server with multiple graphs<br>
or multiple servers<br></blockquote><div><br><br></div><div>That isn't the choice. The choice is threeway:<br><br></div><div>   - reduce overhead caused by context switching between programs<br></div><div>   - reduce DSP load by running more in parallel (this is dependent on the graph; JACK2 will do<br></div><div>        the best possible already, so if Jonathan is already using JACK2, maximum parallelism<br></div><div>        is already in use)<br></div><div>   - reduce the amount of work done by each client.<br> <br></div></div></div></div>