首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web Workers能否利用100%的多核CPU?

Web Workers能否利用100%的多核CPU?
EN

Stack Overflow用户
提问于 2012-08-09 03:08:30
回答 2查看 8.4K关注 0票数 29

我一直在尝试找出web工作者在分配处理器负载方面的能力。我还没有找到任何能够让我的四核2600k达到50%的演示,更不用说100%了。

这是一个web worker演示,我试着最大限度地提高CPU:

http://nerget.com/rayjs-mt/rayjs.html

(如果您使用firebug /chrome- set element进入页面的HTML,并将画布放大,则可以使其光线跟踪更大的图像-我将我的图像设置为1920x1080)

即使选择了4个、8个、16个工作进程,我的CPU利用率也不能超过每个内核25%左右。

有没有人知道你能不能通过网络工作者100%的利用CPU?

(我使用的是谷歌Chrome浏览器。)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-09 03:14:26

这在我的2500K上使用了100%:

代码语言:javascript
复制
var code = "while(true){}";
var URL = window.webkitURL || window.URL;
var bb = new Blob([code], {type : 'text/javascript'});

code = URL.createObjectURL(bb);

new Worker(code);
new Worker(code);
new Worker(code);
new Worker(code);

http://jsfiddle.net/MTJ27/81/

票数 31
EN

Stack Overflow用户

发布于 2013-06-12 05:40:10

我已经使用新的blob构造函数重写了Esailija的答案。BlobBuilder现在已经过时了,所以你必须使用Blob()来代替,查看这里的deets:http://updates.html5rocks.com/2012/06/Don-t-Build-Blobs-Construct-Them

代码语言:javascript
复制
window.URL = window.URL || window.webkitURL;

var blob = new Blob(["while(true){}"], {type: 'text/javascript'});

code = window.URL.createObjectURL(blob);

new Worker(code);
new Worker(code);
new Worker(code);
new Worker(code);

http://jsfiddle.net/MTJ27/15/

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11871452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档