Re: [w3ctag/design-reviews] Review OffscreenCanvas, including ImageBitmapRenderingContext (#141)

Per today's conversation, I want to bring in some other folks. cc: @toji, @NellWaliczek

The situation with [`requestAnimationFrame`](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame) vs. [`VRSession::requestFrame`](https://w3c.github.io/webvr/spec/latest/#dom-vrsession-requestframe) vs. [Offscreen Canvas' `ctx.commit()` method](https://github.com/junov/OffscreenCanvasAnimation/blob/master/OffscreenCanvasAnimation.md) is a microcosm of the sort of API fragmentation we have been worried about for some time with WebVR and friends. We expect it to show up in other areas (input handling, audio processing & streaming, image decoding, etc.)

In particular, it seems like the fact that the parent document of the worker that receives the Offscreen Canvas implicitly sets the `rAF` rate to it's own `rAF` makes Offscreen Canvas unsuitable for WebVR (which seems pretty bad). Similarly, WebVR continues to not define a "high performance" mode for documents and for `<iframe>` isolation. This is predictably going to lead to many heuristics in engines about when to spin up high-power vs. low-power GPUs, main-thread throttling for various documents, etc.

This is compounded by the fact that WebVR is also introducing it's own (unaligned with the rest of the pipeline, e.g. input) `rAF` equivalent and separate model for doubling-up canvas write rates.

We have a chance to fix all of this before we're stuck in a bad (and getting worse) situation.

Questions!

 * To what extent is second-display (main-screen) a hard requirement for WebVR 2.0?
 * To what extent does WebVR want/need Offscreen Canvas support?
 * What is the proposed method today for WebVR keeping parent document main threads from interfering in iframe'd VR content?
 * How do engines decide to enter a "high-performance" mode for VR?

Thanks

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3ctag/design-reviews/issues/141#issuecomment-337287893

Received on Tuesday, 17 October 2017 17:08:42 UTC