

An Introduction to HTML 5 Web Workers - Mamady
http://cggallant.blogspot.com/2010/08/introduction-to-html-5-web-workers.html

======
franze
i'm currently a little pissed at webwokers (yeah, i take it personally) that i
can't hand them a canvaspixelarray. so basically to use workers for
canvasimagemanipulation you have to copy the canvaspixelarray into an
uint8array, pass it to the work, get back a uint8array and copy that one back
into the imagedata.data canvaspixelarray. oh yeah, the copy actions are of
course all in the main thread - so this basically defeats the reason to have
webworkers in the first place.

~~~
timb
the newest chrome has support for transferable objects that can be sent
directly to a worker without being copied. this works with ArrayBuffer now,
not sure if ImageData is transferable yet, but it should be eventually.

demo:
[http://html5-demos.appspot.com/static/workers/transferables/...](http://html5-demos.appspot.com/static/workers/transferables/index.html)

~~~
franze
nope, the canvaspixelarray is no arraybuffer, doesn't work yet. i check for
changes in that regard with every google chrome canary release.

------
blasterford
I hope there are simple ways to disable these on browsers.

Can't imagine every tab having a load of workers in the background, ending
well.

One of the pleasant things about javascript is that there are no threads. It's
a shame some people have pushed for this API.

After all, it's not rocket science for a competent developer to split a long
running task into chunks which are periodically run via a timeout, keeping the
UI responsive.

~~~
philo23
While I agree most things could be split into chunks with a timeout, there's
definitely a place for web workers, for example in canvas image processing.

~~~
crymer11
I wholeheartedly agree. I had some code that had to parse several different
.ply files and creat the respective 3D models, and without web workers, the
process was unbearably long.

