30

私は、Webワーカーがプロセッサの負荷を分散する能力がどれだけあるかを調べようとしてきました。クアッドコア2600kを100%は言うまでもなく、50%にすることができると思われるデモはまだ見つかりません。

これが私がCPUを最大化しようとしたWebワーカーのデモです:

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

(firebug / chrome-inspect-elementを使用してページのHTMLにアクセスし、キャンバスを大きくすると、レイトレーシングをはるかに大きな画像にすることができます-私は1920 x 1080に設定しました)

4、8、16のワーカーを選択しても、CPU使用率をコアあたり約25%以上にすることはできません。

Webワーカーを介してCPUを100%利用できるかどうか誰かが知っていますか?

(私はGoogle Chromeを使用しています。)

4

2 に答える 2

31

これは私の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/

于 2012-08-08T19:14:26.343 に答える
11

新しい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/

于 2013-06-11T21:40:09.877 に答える