Knacken bei kleiner Puffergröße, CPU aber nicht annähernd ausgelastet

  • Hallo Orgelfreunde,


    es gibt da eine Sache, die mich etwas wundert: Wenn ich die Puffergröße klein halte (128 oder so), dann führt das zu einem knacksen, wenn ich zB genügend schnell genügend viel spiele; das (für mich) überraschende dabei ist, dass meine CPU nicht annähernd ausgelastet ist, der Arbeitsspeicher halb leer.
    Ich habe gestern mal ein bisschen damit rumgespielt, bei Puffergröße 128 kommt es ab einer Prozessorauslastung von etwa 12% zu dem knacken, der Prozessor ist dann etwa bei 50% maximaler Taktfrequenz. Meine Idee war zuerst, dass das Phänomen daher kommt, dass nur ein Kern belastet wird und dieser dann eben ausgelastet ist, aber das ist nicht der Fall, die Leistung verteilt sich gleichmäßig auf alle Kerne.


    Wenn ich das richtig verstanden habe, ist der Puffer doch dazu da, die CPU zu entlasten? Mehr Puffer führt zu weniger Prozessorbelastung, was man mit mehr Latenz bezahlt. Und Knacksen heißt doch, dass der Prozessor nicht mehr hinterherkommt?


    Vielleicht noch zur Info: Bei der CPU handelt es sich um einen Intel i7 3610QM, ich habe zum orgeln ein externes Audiointerface angeschlossen, die Audiobox 22VSL von Presonus.


    Ich freue mich über Antworten eurerseits!
    Euer Schmied :)

  • Kleiner Puffer bedeutet, das kleinere Audio-Packete (a X Samples) häufiger fertig werden müssen.


    Für 1024 Samples pro Buffer muss alle ca. 23ms [bei 44.1kHz] das nächste Audio-Packet fertig werden.- bei 128 alle 3ms.
    Es werden mindestens 2 Puffer gebraucht [einer in Berechung, einer beim Abspielen] - zum Ausgleich von Verzögerungen sind mehr als 2 sinnvoll.


    Bei kleinerer Puffergröße steigt auch der Koordinierungsaufwand, der von der Anzahl der Packete und nicht deren Länge abhängt.


    PS: Arbeitsspeicher hat nichts mit der Latenz tun.
    CPU Leistung korreliert mit der möglichen Polyphonie. Solange das System noch Reserven hat, hat die CPU Leistung nichts mit der Latenz zu tun - sonst nur indirekt, als eine stärke CPU die gleiche Latenz bei höherer Polyphonie erlaubt.

  • Danke für deine Antwort! Das ist schonmal aufschlussreich.


    Und woher kommt dann konkret das knacksen? Bzw. was kann ich dagegen tun (außer die Samples pro Buffer erhöhen)?


    Polyphonie sagt mir doch, wie viele Samples gleichzeitig klingen können? Die hab ich gegenwärtig auf 5800, das sollte ja hoffentlich ausreichen ...


    Bitte entschuldige meine Fragerei :-shame: Ich bin gerade erst dabei, diese ganzen Parameter zu entdecken, und google ist manchmal nur mäßig hilfreich ...

  • Die Knackser sind in der Regel ein Nicht-Rechtzeitig-Fertig-Werden der Berechnungen.


    Wenn du mal Grenzen ausloten willst, suche dir ein größeres Sampleset mit viel Hall und hole dir problem.mid von https://sourceforge.net/p/ourorgan/mailman/message/28167047/


    Das MIDI File spielst du in Endlos-Schleife am Hauptwerks-Manual ab und ziehst bis auf U.O alle (wirklich alle) Koppeln vom HW-Koppel-Panel sowie alle Register. Damit fordert man den Rechner ordentlich und kann die Stabilität unter Last schön beobachten.
    Lautstäre in GO musst du vielleicht reduzieren, damit kein Clipping auftritt.

  • Hallo Martin,


    das möchte ich auch mal ausprobieren :A
    Aber wie spiele ich in GO die Datei in Endlosschleife ab?
    Oder muss ich über einen Sequenzer gehen? Ich hätte da Rosegarden (LINUX), weiss aber nicht, wie ich diesen mit GO verbinden muss. Dieses JACK hab ich zwar drauf, aber weiss nicht damit umzugehen.
    Gruß, C18H27NO3