1

HTML5要素でマンデルブロ集合フラクタルを生成する単純なJavaScriptアプリケーションを書いています。canvasグラフィックを生成するアルゴリズムは簡単に並列化できるので、WebWorkersを使用して画面をより管理しやすいチャンクに分割しています。ただし、多数のWebWorkerを生成すると、いくつかの問題が発生します。これはブラウザー固有のようです。

Chrome: 32〜64のWebWorkersを生成すると、ページが強制終了されます。奇妙な部分は、WebWorkersが実行を終了した後は破壊されていないように見えることです。たとえば、32のWebWorkersでシミュレーションを1回実行した場合、問題はありませんが、(ページをリロードせずに)シミュレーションを再実行すると、ページが停止します。

Firefox: Firefoxは、特定の数のWebWorkerを生成した直後に諦めたようで、32未満です。設定された数のWebWorkerが終了し、残りは実行を終了することなく、ある程度の状態で存在しているようです。Firebugのエラーコンソールに出力が表示されません。

Safari: Safariは、多数のWebWorkerを完璧に生成するように見える唯一のブラウザーです。ここでは問題ありません。

IE:誰が気にしますか?

誰かがこれらのブラウザ固有の問題のいずれかに対する解決策を持っていますか、または少なくともこれらの問題の原因を知っていますか?

4

1 に答える 1

0

作業が完了したらworker.terminate();、ワーカーをシャットダウンするステートメントはありますか?これは間違いなくブロッカーになる可能性があります。

于 2013-03-14T20:40:20.207 に答える