我一直在尝试找出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浏览器。)
发布于 2012-08-09 03:14:26
这在我的2500K上使用了100%:
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/
发布于 2013-06-12 05:40:10
我已经使用新的blob构造函数重写了Esailija的答案。BlobBuilder现在已经过时了,所以你必须使用Blob()来代替,查看这里的deets:http://updates.html5rocks.com/2012/06/Don-t-Build-Blobs-Construct-Them
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/
https://stackoverflow.com/questions/11871452
复制相似问题