[whatwg] [canvas] request for {create, get, put}ImageDataHD and ctx.backingStorePixelRatio

Charles Pritchard chuck at jumis.com
Mon Apr 23 20:00:17 PDT 2012


On 4/23/2012 6:50 PM, Glenn Maynard wrote:
> On Mon, Apr 23, 2012 at 12:43 PM, Darin Fisher<darin at chromium.org>  wrote:
>
>> That said, I've come around to being OK with getImageDataHD.  As I wrote
>> recently, this is because it is possible to implement that in a
>> non-blocking fashion.  It can just queue up a readback.  It only becomes
>> necessary to block the calling thread when a pixel is dereferenced.  This
>> affords developers with an opportunity to instead pass the ImageData off to
>> a web worker before dereferencing.  Hence, the main thread should not jank
>> up.  This of course requires developers to be very smart about what they
>> are doing, and for browsers to be smart too.
>>
> It's reasonable to expect users to use async APIs in the main thread;
> that's just a part of the platform.  It's not reasonable to expect people
> to fire up a worker and transfer the buffer to the worker to prevent the
> blocking from happening in the main thread.  That's a particularly hackish
> workaround, not a replacement for an async API.
>

Looks like Maciej wants this one in ASAP as a synchronous method.

Dev's are still going to jank up their main thread when working with 
getImageDataHD.
As a couple here have stated -- there's a lot more data with an HD layer.

Processing filters on the main thread has always been a UI blocker.

Here's a +1 to allowing 
worker.postMessage(document.getCSSCanvasContext('2d','layer','1','1')) 
in web workers.
It's completely non-standard but lets us all off the hook.

-Charles



More information about the whatwg mailing list