何千ものポイントをプロットする必要があります。おそらく、dojoチャートライブラリを使用すると50,000近くになります。それは動作しますが、それは間違いなく非常に遅く、ブラウザに遅れをとっています。より良いパフォーマンスを得る方法はありますか?
編集:
データにレンダリングフィルターを適用して解決しました。基本的に、ポイントが他のポイントとオーバーラップすると予想される場合、jsonソースによってfalseに設定される「render」と呼ばれる新しいアイテムパラメーターがあります。次に、私のDataSeriesは、render:trueであるすべてのポイントを照会します。このようにして、すべてのポイントを必要とする非ビジュアルソースのすべてのデータがまだ存在しますが、チャートはスムーズに実行されます。
擬似コード:
def is_overlapped(x, y, x_round, y_round)
rounded_x = round(x, x_round)
rounded_y = round(y, y_round)
hash = hash_xy(rounded_x, rounded_y)
if(@overlap_filter[hash].nil?)
@overlap_filter[hash] = true
return false
end
return true
end
x_roundとy_roundは、xとyの範囲によって決定できます。たとえば、range / 100