Latenz-Zeiten von Jack...
Verfasst: Sa Sep 23, 2006 11:30 am
Moin Leute,
nachdem ich hier im Forum bereits einiges über die (teilweise sehr hohen) Latenzzeiten von Jack gelesen habe, möchte ich Euch nun einen kleinen Trick mit Jack verraten:
Jack legt standardmäßig in das /tmp-Verzeichnis ein Unterverzeichnis mit den eigenen Fifo-Files. Über diese Files findet die gesamte Komunikation der einzelnen Musik-Programme statt, die mit Jack arbeiten.
Liegen jetzt diese Fifos auf der Festplatte, so werden bei jeder einzelnen Kommunikation Daten auf die Festplatte geschrieben, um dann gleich wieder von einem anderen Programm gelesen zu werden. Ihr könnt Euch nun vorstellen, daß diese Art der Kommunikation sehr langsam ist, und wenn das Ganze nicht irgendwie über Festplatten-Caches abläuft, dann ist von dem Hörgenuss wegen der hohen Latzenzzeiten nicht mehr viel übrig.
Man kann Jack jedoch sagen, daß er ein Temp-Verzeichnis in einer RAM-Disk verwenden soll. Dadurch wird die Kommunikation erheblich beschleunigt und man kommt in Latenzbereiche von etwa 16 Frames/Period (Hier: 0.6ms).
Für diejenigen unter uns, die JACK kompilieren, ist der Weg einfach:
1. JACK-TMP-Verzeichnis /jack-tmpfs anlegen
2. in der /etc/fstab folgenden Eintrag schreiben:
none /jack-tmpfs tmpfs defaults 0 0
3. mount -a eingeben
4. im Source-Verzeichnis von Jack folgende Zeile zum Konfigurieren/Kompilieren eingeben:
./configure --with-default-tmpdir=/jack-tmpfs && make -j2 && make test && make install
5. JACK starten und genießen.
Leider habe ich noch keine Möglichkeit gefunden, wie man dem jackd beim Starten das tmpfs als Option mitgeben kann und somit das Kompilieren überlfüssig ist.
Vielleicht probiert jemand mal aus, ob man mit den beigelegten Sourcen JACK neu kompilieren und trotzdem alle Audio-Programme noch mit JACK zusammen arbeiten... ( bei mir ist eh alles selbstkompiliert )
Ich hoffe, daß ich damit helfen konnte.
Viel Spaß weiterhin,
Gruß Lev
nachdem ich hier im Forum bereits einiges über die (teilweise sehr hohen) Latenzzeiten von Jack gelesen habe, möchte ich Euch nun einen kleinen Trick mit Jack verraten:
Jack legt standardmäßig in das /tmp-Verzeichnis ein Unterverzeichnis mit den eigenen Fifo-Files. Über diese Files findet die gesamte Komunikation der einzelnen Musik-Programme statt, die mit Jack arbeiten.
Liegen jetzt diese Fifos auf der Festplatte, so werden bei jeder einzelnen Kommunikation Daten auf die Festplatte geschrieben, um dann gleich wieder von einem anderen Programm gelesen zu werden. Ihr könnt Euch nun vorstellen, daß diese Art der Kommunikation sehr langsam ist, und wenn das Ganze nicht irgendwie über Festplatten-Caches abläuft, dann ist von dem Hörgenuss wegen der hohen Latzenzzeiten nicht mehr viel übrig.
Man kann Jack jedoch sagen, daß er ein Temp-Verzeichnis in einer RAM-Disk verwenden soll. Dadurch wird die Kommunikation erheblich beschleunigt und man kommt in Latenzbereiche von etwa 16 Frames/Period (Hier: 0.6ms).
Für diejenigen unter uns, die JACK kompilieren, ist der Weg einfach:
1. JACK-TMP-Verzeichnis /jack-tmpfs anlegen
2. in der /etc/fstab folgenden Eintrag schreiben:
none /jack-tmpfs tmpfs defaults 0 0
3. mount -a eingeben
4. im Source-Verzeichnis von Jack folgende Zeile zum Konfigurieren/Kompilieren eingeben:
./configure --with-default-tmpdir=/jack-tmpfs && make -j2 && make test && make install
5. JACK starten und genießen.
Leider habe ich noch keine Möglichkeit gefunden, wie man dem jackd beim Starten das tmpfs als Option mitgeben kann und somit das Kompilieren überlfüssig ist.
Vielleicht probiert jemand mal aus, ob man mit den beigelegten Sourcen JACK neu kompilieren und trotzdem alle Audio-Programme noch mit JACK zusammen arbeiten... ( bei mir ist eh alles selbstkompiliert )
Ich hoffe, daß ich damit helfen konnte.
Viel Spaß weiterhin,
Gruß Lev