HTML5 Web Worker中的图像压缩

时间:2013-10-30 12:56:53

标签: html5 image web-worker

我有一个Web应用程序,它在web worker中创建一个大图像(30Mo)作为bufferArray。 我想将此图像返回主线程。

通过postMessage方法返回bufferArray非常慢(5次secondes)并冻结UI。

postMessage(data);

所以,我一直在寻找一个压缩图像的库,但我只找到使用HTML5画布的库。 因为禁止HTML5画布是Web Worker,我问你是否有解决这个问题的方法?

我的目标是在Web Worker中花费更多时间并缩短传输时间。

3 个答案:

答案 0 :(得分:1)

有些浏览器支持可转移对象,但据我所知,不是全部。

Transferable对象基本上是指从主线程传递给worker和/或back的结构的指针。使用此方法需要对postMessage()

进行不同的调用

更多内容涵盖here

答案 1 :(得分:0)

如何增加并发Web worker线程池?

以下是两篇很棒的文章,介绍了如何使用它:

http://www.smartjava.org/content/html5-easily-parallelize-jobs-using-web-workers-and-threadpool

http://typedarray.org/concurrency-in-javascript/

答案 2 :(得分:0)

以下是使用postMessage方法的方法:

postMessage(jsonObject, [jsonObject.data.buffer]);

第一个参数与往常一样。 第二个必须是ArrayBuffer的数组。

仍在寻找不使用HTML5画布的图像压缩库。