- From: Olivier Thereaux <notifications@github.com>
- Date: Wed, 11 Sep 2013 07:29:47 -0700
- To: WebAudio/web-audio-api <web-audio-api@noreply.github.com>
- Message-ID: <WebAudio/web-audio-api/issues/113/24244385@github.com>
> [Original comment](https://www.w3.org/Bugs/Public/show_bug.cgi?id=17415#14) by Marcus Geelnard (Opera) on W3C Bugzilla. Fri, 15 Jun 2012 12:58:46 GMT (In reply to [comment #12](#issuecomment-24244364)) > I agree it should, but I don't think it will. What should an emulator/VM > developer do? Render off main-thread as well? I guess it depends a lot on what kind of system you want to emulate, and to what extent you need CPU cycle exact state coherence (e.g. do you want to emulate a few popular games, or do you want to implement a fully functional virtualization of a machine?). For instance for implementing a SID chip for a C=64 emulator, I'd imagine that you can simply post time-stamped messages from the main thread to an audio worker (possibly batched as a time-stamped command buffer per frame or whatever), where the worker implements all SID logic. A similar solution should work for the NES sound HW too, I guess. For emulating the Paula chip on the Amiga, you'd have more problems since it uses DMA for accessing CPU-shared memory. On the other hand, I think you should be able to come quite far by setting up a node graph that effectively emulates the Paula chip using automation for timing etc, eliminating a lot of the problems that you would otherwise have with a 100% JS-based mixer. In any event, this does strike me as a show-stopper for having audio processing in workers. Especially given that machine emulators are usually quite odd, both in terms of architecture and actual use cases. --- Reply to this email directly or view it on GitHub: https://github.com/WebAudio/web-audio-api/issues/113#issuecomment-24244385
Received on Wednesday, 11 September 2013 14:30:37 UTC