0

クロスフィルターの選択がタイムラインを動的に更新することを除いて、クロスフィルターの例に似た視覚化があります。コードは約100個の要素でうまく機能します。5000近くの要素を使用してコードをテストしましたが、ブラシを適用/変更してディメンションをフィルタリングすると、非常に遅くなりました。パフォーマンスの問題はどこにあり、どのように修正するのか疑問に思いました。約5000svgrectsのタイムラインはうまくレンダリングされました。クロスフィルターのヒストグラムは、ブラシを適用およびサイズ変更するときに非常に遅くなりました(ヒストグラムを作成するのではなく、ブラシのサイズ変更および適用時)。ブラシの変更後にタイムラインの更新を無効にすることもできましたが、パフォーマンスには役立ちませんでした。クロスフィルターの例と同様のsvgパスメソッドを使用してクロスフィルターヒストグラムを生成しています。ブラシの描画に時間がかかる理由がわかりません。

クロスフィルターと関係があるのでしょうか?データに関する注意:クロスフィルターには数千のデータ要素しかありませんが、要素は非常に大きくなります(約100程度の属性が含まれます)。それが問題の原因かどうかはわかりません。

ありがとう

4

1 に答える 1

1

通常、説明しているようなパフォーマンスの問題は、Javascriptでのデータの実際の処理ではなく、生成されたSVGをレンダリングするブラウザーによって引き起こされます。試すことができることの1つは、SVGの代わりにHTMLキャンバスを使用することです。ただし、コードを変換することは簡単なプロセスではないことに注意してください。

于 2012-07-22T11:53:36.493 に答える