- From: Paul Adenot <padenot@mozilla.com>
- Date: Wed, 7 Oct 2015 19:24:45 +0200
- To: Ian Kilpatrick <ikilpatrick@chromium.org>
- Cc: Chris Wilson <cwilso@google.com>, Hongchan Choi <hongchan@google.com>, Alex Russell <slightlyoff@google.com>, "public-audio@w3.org Group" <public-audio@w3.org>, Shane Stephens <shanestephens@google.com>, Ian Vollick <vollick@chromium.org>, Elliott Sprehn <esprehn@google.com>
- Message-ID: <CANWt0WrFZgfiBw6tC0+ecfjdjp+dft2FT3WnxgjOPh2AOfGT-w@mail.gmail.com>
Also I was writing a separate draft to spec this, but I'll hold off for now. Paul. On Wed, Oct 7, 2015 at 7:20 PM, Paul Adenot <padenot@mozilla.com> wrote: > On Wed, Oct 7, 2015 at 7:12 PM, Ian Kilpatrick <ikilpatrick@chromium.org> > wrote: > >> Hi all, >> >> Houdini is attempting to add extension points into the rendering pipeline >> of browsers. Because of this we need properties similar to what is required >> for AudioWorker (at the moment we've called it IsolatedWorker, fine with >> changing the name to IsolatedProcessor or something <bikeshed-here>). >> >> I'm currently writing a draft of the spec at the moment and should appear >> here (https://drafts.css-houdini.org/isolated-workers/) at the end of >> the week. >> >> It will be based on the strawperson discussed at Houdini Paris F2F. ( >> http://bfgeek.com/css-houdini-drafts/css-script-api/Overview.html). >> >> A few properties that we'd like from this spec: >> - Thread-agnostic - that is, it does not define on which thread this is >> run, may share a thread with something else, i.e. main document context. >> - Subset of APIs - remove network request APIs etc. >> > > I'd rather have this opt-in (you pick the APIs you want) than opt-out (you > remove some APIs). > > > The rest is what we need indeed. > > Paul. > > >> - Hook based - APIs will be reached by registering callbacks on >> GlobalScope, e.g. registerPaint() not event based. >> - Life-cycle - can be created/destroyed at defined points in time. >> Similar to ServiceWorker. >> > >> Additionally we've observed that javascript implementations have a high >> memory overhead per javascript context. We believe we want to limit the >> number created, so similar to the main javascript execution context, code >> shares a single javascript execution context. Details of this is probably >> better discussed one there is a proposal. >> >> Ian >> >> On Wed, Oct 7, 2015 at 9:32 AM, Chris Wilson <cwilso@google.com> wrote: >> >>> I'm actually off-the-cuff against trying to boil the ocean of the >>> general pattern. This is pretty specific - the new thing , runs *IN* >>> something that can be a Worker-like process, but they're expected to share >>> the process. The thing you can instantiate lots of (runtime contexts?) run >>> inside that process. >>> >>> I was expecting we would rename AW to CustomAudioProcessor, still define >>> them as running inside a Worker (and define how that Worker-sharing works), >>> and use Worker messaging. That seemed like the shortest path to success. >>> >>> On Wed, Oct 7, 2015 at 9:16 AM, Hongchan Choi <hongchan@google.com> >>> wrote: >>> >>>> Nothing forces workers to be heavy weight, but doesn't it have the >>>> assumption that it runs on its own thread? What we want is to be able to >>>> throw JS code into VM that runs on the audio thread. >>>> >>>> Perhaps we can break that assumption, and propose a new type of Worker. >>>> >>>> On Wed, Oct 7, 2015 at 9:09 AM Alex Russell <slightlyoff@google.com> >>>> wrote: >>>> >>>>> Why isn't this thing a worker? What forces workers to be heavyweight? >>>>> >>>>> Also, would be good to align with the Houdini folks on this as they're >>>>> proposing similar things in the rendering and compositing space. >>>>> >>>>> Regards >>>>> On 7 Oct 2015 7:52 a.m., "Paul Adenot" <padenot@mozilla.com> wrote: >>>>> >>>>>> We need to decide for a new name for something that: >>>>>> >>>>>> - Runs off-main-thread >>>>>> - Has access to a very limited set of APIs >>>>>> - Can be instantiated a lot of times in the same document (much more >>>>>> than Workers can or would) >>>>>> - Is specialized to one domain (audio, video, etc.) >>>>>> - ... ? >>>>>> >>>>>> It is likely that we would be the first group to spec something like >>>>>> this, but it would be used by other groups (layout people, video/image >>>>>> processing folks, etc.). We need something that is not too tied to audio, >>>>>> or can be adapted. I propose "Processor", which conveys the meaning of >>>>>> taking something as input, applying a transformation, and outputting it. >>>>>> I'm very open to suggestions though, this is merely to get the ball rolling. >>>>>> >>>>>> Thoughts ? >>>>>> Paul. >>>>>> >>>>> >>> >> >
Received on Wednesday, 7 October 2015 17:25:34 UTC