|
- ---------------------
- Jackdmp Todo list
- ---------------------
-
- 2007-12-16 Dynamic backend switch, so that audio backend can be switch off and replaced by the dummy backend.
-
- 2007-10-17 Optimize activation call graph with multiple clients in a process
-
- Andrzej Szombierski recently did interesting test to measure jack client activation speed in different context: jack client opened in separated processes, multiple jack clients running in the server, multiple jack clients running in a same separated process, this using jackd or jackdmp.
-
- jackd:
-
- - multiple jack clients in the server: fast because *direct function call* to the client process callback is done bypassing the fifo based activation system
- - jack clients in separated processes: slower using the fifo based activation system
- - multiple jack clients in a separated process: slower using the fifo based activation system
-
- jackdmp:
-
- - multiple jack clients in the server: slower using the fifo based activation system
- - jack clients in separated processes: slower using the fifo based activation system
- - multiple jack clients in a separated process: slower using the fifo based activation system
-
- So basically jackdmp use the same fifo based activated system in all cases, and jackd does some optimization in the "multiple jack clients in the server" case.
-
- Also having multiple clients in a same process (jack server or separated process) is not so common, it may still be interesting to be able to optimize the activation path with sequential clients in a same process (server or separated). I am thinking in a method that could be done in jackdmp data-flow model: since the activation path is "computed on the fly" when following links between clients, the step where a client activates all its output could be reworked a little with something like:
-
- - find one of the client in the output client list that is in the same process
- - activate all other output clients using the normal fifo based system
- - *direct* call the client process callback
-
- (and this would be done recursively following a sequential path in the graph until no more client in the same process is found)
-
- There is still an issue if a client uses the "Fons special" ((-: new jack_thread_wait API, where a client explicitly gives control back to libjack... I still don't have a clear idea if this optimization path could still be done.
-
- Even if the "multiple clients" way is not really used in existing applications, is it a desirable feature to have at some point?
-
-
- 2007-10-07 Before doing an official package, check all public headers
-
- 2007-03-14 Check JackGraphManager::GetPortsAux after MIDI branch merge.
-
- 2007-03-14 Add Paul dynamic jack server location code.
-
- 2007-01-22 Check the "dead" client removing code in the server: non running client may cause Desactivation and Close time out problems.
|