herw hat geschrieben: Die Audioausgänge einer AudioCorecell lassen nicht nur SR.C-synchrone Events heraus, sondern auch alles, was dazwischen passiert.
Uff, da bin ich jetzt aber platt!
herw hat geschrieben:Es entsteht zum Beispiel ein Konflikt, wenn ein Audiostream mit zusätzlichen z.B. 1024 Events gerade läuft; bevor jedoch die 1024 events „abgearbeitet” sind, startet eventuell schon der nächste Audio-Zyklus.
Jetzt bin ich noch platter...
Hieße das nicht, daß eine Audiocell für Event und SR-Clocked Signale "parallel" existiert und abgearbeitet wird? Ansonsten müßte doch die Abarbeitung des nächsten Sampleticks warten, bis alle asynchronen Events durch sind. Sprich, der Audiopuffer muß dann halt mal herhalten. Das gilt natürlich nur für die Events, welche es überhaupt "schaffen", innerhalb der zwei SR.C Ticks erstmal in die Audiocell zu gelangen. Dann würde in Primary Audio und Event aber auch parallel existieren. Aber Event Overflows in Primary (Iterator) können doch auch Audioknackser verursachen? Oder nicht? Dann wäre die Abarbeitungsreihenfolge schön brav nach dem Motto "Vordrängeln gilt nicht!"
Ich bin jetzt etwas verwirrt, aber das Thema Abarbeitung interessiert mich gerade echt brennend! Vor allem im Zusammenhang mit Core Audio Cell - bzw. auch in Verbindung Primary zu Core zu Primary. Deine Erkenntnis, Herw, könnte nämlich durchaus mit meinem momentanen "Problemchen" zu tun haben:
Es heißt ja, Ein- und Ausgänge von Core Zellen sind grundsätzlich böse zur CPU...
Aus diesem Grund ersetzte ich testweise 5 Eventeingänge einer Audiocell durch eine Multiplexleitung (Partial Frameworks).
Das erstaunliche Ergebnis war nun, daß ich damit insgesamt eine höhere CPU Belastung hatte, als mit den 5 Einzeleingängen. Auf den Leitungen passiert nicht allzu viel - ca. 2-4 Datenevents alle 8tel oder 16tel Note insgesamt, je nachdem. Auf jeden Fall schien mir der Multiplex (Primary)/Demultiplex (Core) Aufwand nicht für eine derart angestiegene CPU Last verantwortlich zu machen. Zugegebener maßen ist das eine Bauchgeschichte, aber verglichen mit dem, was da sonst noch alles im Ensemble und v.a. in besagter AudioCoreCell passiert, sollte sich aufm CPU Meter mit den paar lächerlichen Events eigentlich nicht viel tun.
(Die Audiocorecell existiert insgesamt 5x, somit auch 5 Mux/Demux --> Einzeleingänge: ca27,8%, Multiplex: ca30,0% CPU Auslastung @ CORE I5 auf 1600MHZ runtergetaktet [/langweilmodus aus])
Ich kanns mir bis jetzt nur so erklären, daß entweder der Multiplex-/Demultiplexaufwand tatsächlich so hoch ist und den Leistungsbedarf mehrer Event-Ins überschattet, oder aber die Asynchronität der Events ansich, bzw deren asynchrone Abarbeitung zur SR.C den Codeablauf negativ beeinflußt (also so oder so das Mux/Demuxing).
Oder aber es hat irgendwie (auch?) was mit Verschachtelung zu tun, welche sich negativ auf den Programmablauf auswürgt. Ok, lassen wir das jetzt mal. Ist auch nur so ein Bauchgefühl

(Stichwort: überproportionale CPU Auslastung bei duplizierten Macros. Vorallem in Verbindung mit Multiplexleitungen??? Oder Generell?)
Eventuell ziehen Event-Ins ja auch nur Saft, wenn tatsächlich ein Event anliegt. DAS wäre natürlich auch mal sehr interressant zu wissen.
Ich überlege schon, mal einen "CORE Optimieren" Thread aufzumachen. Hätte ja da doch noch so ein paar quälende Fragen, aber auch kleine Erkenntnisse.
Die Tage mal...
Gruß, Mark