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