On Mon, Oct 14, 2013 at 11:31 PM, Robert O'Callahan <rob...@ocallahan.org> wrote: > On Mon, Oct 14, 2013 at 4:29 PM, Till Schneidereit > <t...@tillschneidereit.net> wrote: >> >> From talking to Kyle, it sounds like getting WebGL into workers is >> much closer than getting all of Context2D, too. Specifically, we need >> text rendering to work, because we have to be able to render device >> fonts. Into bitmaps. Synchronously, because everything else would be >> way too easy. >> >> To reiterate, we have two non-negotiable requirements for enabling >> off-mainthread usage of Shumway: >> - synchronous drawing to canvas, including text rendering > > > Getting text rendering to work with 2D canvas in a worker is tricky and we > may want to implement it by doing blocking proxying calls to the main > thread. > >> >> - synchronous two-way communication with surrounding JS, with >> arbitrarily-recursive calls between page JS and Shumway > > > That seems like the big problem here.
Exactly. That's the issue that got this whole discussion going. The fact that having a synchronous worker-mainthread channel also enables using it for rendering is the less important issue. Although the text rendering issue makes it pretty attractive. The way I see it, we should do asynchronous drawing by default. Either in yet another worker, or on the main thread as long as we don't have everything we need to do it in a worker. Only for the rendering-to-bitmapdata case should we use the sync channel to do the drawing. This makes sense from a responsiveness POV, in any case. _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform