[whatwg] WebWorkers and images

Drew Wilson atwilson at chromium.org
Fri Jan 7 17:16:31 PST 2011


I would recommend that people review this thread:
http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2010-February/025254.htmlto
understand the objections previously raised to this idea.

-atw

On Fri, Jan 7, 2011 at 4:08 PM, Glenn Maynard <glenn at zewt.org> wrote:

> On Fri, Jan 7, 2011 at 6:22 PM, David Levin <levin at chromium.org> wrote:
> > fwiw, ImageData can be used in a worker. Many folks have argued that
> canvas
> > isn't that useful in a worker and that the gpu acceleration will make it
> > less useful (and that most image manipulation would be able to use
> ImageData
> > for its needs).
>
> This is wrong.  You can't download, decompress and blit images to a
> canvas in realtime from the main thread without causing UI hitches.
>
> For example, if you load an HTMLImageElement to blit into a canvas,
> image decompression often doesn't happen asynchronously during the
> download, but synchronously when the image data is first used.  I
> often see the UI freeze for 500-700ms to blit and scale a large image
> in Chrome.  Implementations can alleviate this, but generally at a
> cost elsewhere.  The real fix is to stop doing these expensive
> operations from the UI thread--which is what threads are for.  GPU
> acceleration won't magically fix every case where synchronous canvas
> and canvas-related operations take too much time in the UI thread.
>
> ImageData is only useful for a limited set of image operations.  For
> image blitting and transformations--the most common canvas
> operations--you need the canvas itself.  I'd suspect even more
> important cases with WebGL; for example, long-running computations
> using fragment shaders.
>
> I understand why Canvas isn't available right now.  There are sticky
> issues to make all of the parts practical to expose to threads, and
> I'm sure getting the basic web workers API in place is much higher
> priority.  But, I hope this will be revisited seriously at an
> appropriate time, and not dismissed as not useful.  Image manipulation
> is one of the most obvious candidates for threading.
>
> --
> Glenn Maynard
>



More information about the whatwg mailing list