html5 worker不支持本地,html5 – Web Worker的限制

您无法从Web工作者访问DOM.您无法加载图片.您无法创建画布元素并从Web worker中绘制它们.目前,Web工作者几乎只限于执行ajax调用和执行计算密集型操作.请参阅有关Web工作者和画布对象的相关问题/答案:

Web Workers and Canvas以及有关使用Webworkers加速图像处理的文章:

http://blogs.msdn.com/b/eternalcoding/archive/2012/09/20/using-web-workers-to-improve-performance-of-image-manipulation.aspx

你最简单的选择是将你的工作分成小块(没有web工作者)并一次做一个块,做一个setTimeout(),然后处理下一部分工作.这将允许UI在仍然完成工作的同时做出响应.如果要进行任何cpu消耗计算(比如进行图像分析),可以将其归结为Web worker,结果可以通过消息发送回主线程以放入DOM,但如果没有,然后只需要在较小的块中进行工作以保持UI的活力.

部分任务,如加载图像,从服务器获取数据等等,也可以异步完成,因此如果正确完成,它不会干扰UI的响应性.

以下是分块的一般概念:

function doMyWork() {

// state variables

// initialize state

var x,y,z;

function doChunk() {

// do a chunk of work

// updating state variables to represent how much you've done or what remains

if (more work to do) {

// schedule the next chunk

setTimeout(doChunk,1);

}

}

// start the whole process

doChunk();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值