On 23.11.20 18:01, Fons Adriaensen wrote:
On Mon, Nov 23, 2020 at 05:25:34PM +0100, Giso Grimm
wrote:
without --sync jackd2 uses multiple cores
whenever possible, at the cost
of one extra buffer. With --sync jackd2 behaves single-threaded but has
one buffer less delay (i.e., two buffers like in jackd1). Using --sync
is thus mostly relevant when delay is the primary concern, and not
performance.
Are you sure about the single-threading being controlled by --sync ?
I've never seen this mentioned before.
AFAIK, with --sync jackd2 writes the outputs to the driver when
all clients have run, same as jackd1. Without --sync it writes
the outputs of the previous cycle before any clients run,
resulting in one period more latency but a bit more resilience
agains xruns.
You are right, sorry for the confusion. I always thought that the delay
optimization was at the cost of multi-threading, but this is not true.
I just tested with parallel graphs with heavy load in each graph, and I
get a total jack load which roughly corresponds to the CPU load of the
thread with the highest load, which confirms that parallel processing is
possible also with --sync. Actually the jack load does not seem to be
affected.
-- Giso