2016-05-19 7 views
1

Wie ich Emscripten Worker-Modell verstehe, unterstützt es keinen gemeinsamen Status. Ich kann jedoch globale Variablen zwischen dem SDL-Audio-Callback und meiner Hauptschleife teilen, was, wenn ich das richtig verstehe, nicht möglich sein sollte. Führt emscripten den Audio-Callback auf dem Hauptthread aus und daher ist dies möglich, oder verstehe ich das Worker-Konzept und die globale Variablenfreigabe überhaupt nicht?emscripten Worker-Modell mit SDL-Audio

(Meine Annahme war der Audio-Rückruf wird in einem Arbeiter ausgeführt).

Hinweis: Ich beziehe mich auf emscripten kompiliert ohne pthreads Unterstützung.

Antwort

2

Ist die Audio-Rückruf auf dem Hauptthread

Ja Emscripten auszuführen.

Soweit ich weiß, gibt es keine Möglichkeit für Javascript (sei es aus C++ oder nicht kompiliert) im Browser Audio nicht aus dem Hauptthread abzuspielen.

Wie bei https://github.com/kripken/emscripten/blob/1.36.4/src/library_sdl.js zu sehen ist, verwendet Emscripten AudioContext unter der Haube, und auf der Suche durch https://developer.mozilla.org/en/docs/Web/API/AudioContext und https://developer.mozilla.org/en-US/docs/Web/API/DedicatedWorkerGlobalScope kann ein AudioContext nur im Hauptthread erstellt wird und ist nicht zugänglich in einem Worker Umfang ..

Bei https://developer.mozilla.org/en/docs/Web/API/AudioContext dies ist die Rede von AudioWorker, aber es heißt, über createAudioWorker ...

Erstellt eine AudioWorkerNode, die mit einem Web-worker-Thread in Wechselwirkung treten können, Prozess zu erzeugen, oder Audio direkt analysieren. Dies wurde der Spezifikation am 29. August 2014 hinzugefügt und ist noch in keinem Browser implementiert.

Verwandte Themen