2016-08-20 6 views
8

私はユーザーが(plotly.jsを使って)独自のビジュアライゼーションを構築できるダッシュボードに取り組んでいます。 これらの視覚化の複雑さにより、レンダリング時間が長くなり、フリーズブラウザUIになることがあります。GUIをフリーズしないでplotly.jsグラフをレンダリングする(Web Worker?)

ダッシュボードに他のタスク用のWebワーカーを既に作成しています。おそらく、Webワーカーにplotly.jsグラフを描画してメインスレッドに戻す方法がありますか?

私は、WebワーカーにDOM/Canvas能力がないことを知っています。しかし、おそらくトリックがあるか、GUIフリーズを防止するためのよりよい方法を知っていますか?たぶん、ファントムを使ってサーバーにレンダリングをアウトソーシングすることがあるかもしれません(私はそれを使ったことがないので、単にpjで動くと推測されます)。あなたは労働者からこのAPIにアクセスし、多分また、あなたが言及したライブラリを直接使用することができますhttps://developer.mozilla.org/de/docs/Web/API/OffscreenCanvas

+0

私はこの問題を提出しました:https://github.com/plotly/plotly.js/issues/1499 – silverwind

答えて

1

あなたの問題のための可能な解決策は、OffscreenCanvasのAPIである可能性があります。

しかし、ブラウザのサポートが本当に悪く(少なくともFirefoxでは、現在他のブラウザとどうなっているのか分かりませんが、https://bugzilla.mozilla.org/show_bug.cgi?id=801176)2dキャンバスのコンテキストはサポートされていません(ただし、WebGLを使用するライブラリを使用している場合問題ではないだろう)。

は別の方法として、あなたはWebWorkersで働くキャンバスの(それは再実装だ)、純粋なJavaScriptのポリフィルを使用することができます。 https://www.npmjs.com/package/canvas-webworker それは、この方法は、何のハードウェアアクセラレーションがappliableではないことを言及する価値があります。

組み合わせて、良い解決策を作り出すことができます。

+1

こんにちは、ありがとうございました。私は新しいAPIが非常に興味深いと思う。あまりにも実験的です。私はまた、他の解決策を非常に好む。もう解決策が必要なプロジェクトではうまくいきません。あなたの答えを最高の答えとするのは公正だと思います。アイデアは分かりやすく有望です! – DaTebe

+0

はい、しかし、おそらく答えは他の誰かのために役に立つことができます! OffscreenCanvas APIを適切にサポートすれば、ウェブ全体で勝つことができます。それは非常に多くの可能性を提供します。将来がもたらすものを見てみましょう。 – scriptify

関連する問題