我一直在努力找出网络工作人员分配处理器负载的能力。我还没有找到任何能够让我的四核2600k甚至达到50%的演示,更不用说100%了。
这是一个网络工作者演示,我试图最大化我的CPU:
http://nerget.com/rayjs-mt/rayjs.html
(如果你使用firebug / chrome-inspect-element进入页面的HTML并使画布更大,你可以使它成为更大的图像 - 我设置为1920 x 1080)
即使选择了4,8,16名工作人员,我也无法将每个核心的CPU利用率提高到25%左右。
有没有人知道你是否可以通过网络工作者使用100%的CPU?
(我正在使用谷歌浏览器。)
答案 0 :(得分:21)
这在我的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);
答案 1 :(得分: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);