Hallo,
danke für die beiden Links. Hatte bis jetzt nur das "Java ist auch eine Insel" von den Openbooks von Galileo gelesen. Optimierungen werde ich aber erstmal nicht durchführen. Also nicht in so fern, dass ich Teile von den Frameworks umschreibe oder ersetze. Dafür ist es doch mehr ein Hobby im Moment.
Die Latenz kommt auch nicht nur durch CPU Auslastung, diese langweilt sich in der VM bei so 5-15% wenn ich die Lautstärke änder. Das größte Problem ist die lange Audiopipeline. Dadurch, dass ich von einer Audiodatei jeden Kanal auf jeden Ausgang routen möchte, live, und mit einer eigenen Lautstärke pro Ausgang, muss ich die Kanäle splitten, anpassen und wieder mixen. Bei zB. drei Kanälen und sechs Ausgängen werden es so 18 parallele Pipelines. Die müssen alle wieder zusammengefasst werden. Das ganze funktioniert im Moment nur durch ein paar Queues, die aber buffern und so... Die Lautstärkeelemente sind weit vorne in der Pipeline, daher dauert es etwas, bis sich Änderungen bemerkbar machen. Das PLAY, STOP, PAUSE usw. nahezu direkt reagieren liegt daran, dass die Pipeline schon vor dem Starten gefüllt wird und daher nur das letzte - das Outputelement - reagieren muss.
Also werde ich erstmal da ansetzen und die Pipeline optimieren bzw. kürzen. Da geht noch was ![]()
Zitat von "marcoboy"Die Soundkarte läuft weil sie als Standard Audiocore läuft. So läuft sie auch unter anderen System ohne Treiber. Wer mehr will braucht den Treiber dazu.
Was meinst du denn mit "mehr"? Die Soundkarte läuft unter Linux mit den ALSA Treibern. Welcher genau, weiß ich gerade nicht. Extrafunktionen hat das Ding nicht. Ich kann alle Funktionen nutzen. ALSA ist auch nicht das Problem, kann man aber auch optimieren.
Du hast natürlich schon recht. Wenn ich eine Latenz im zweistelligen oder einstelligen ms Bereich wollte, müsste ich auch an den von dir genannten Stellen ansetzen. Aber zur Zeit ist das für uns zum Glück nicht notwendig...
Bis dann,
artemis