折れ線グラフを表す大きなSVGパス文字列を生成しています。ノード数を減らしてSVGパス文字列を簡略化する
グラフの下には、時間範囲スライスを選択するためのスライダがあります。スライダーの後ろには、折れ線グラフのミニプレビューがあります。
私は現在、プレビューを生成するためにパスを縮小していますが、そうすることで、ピクセルあたり数十のノードで終わってしまいます。したがって、もっと詳細が必要です。もちろんこれにより、ブラウザはそれ以上のレンダリングを行うことができます。
svg文字列(gzippingなど)の圧縮には多くの情報がありますが、実際にはノードを減らすことでパスを単純化するアルゴリズムはほとんどありません。
私はRaphaeljsを使用しており、javascriptベースのソリューションを探しています。何か案は?
あなたはパス「D」属性の例がありますか?例: –
lostsource
あなたはすでに大きな "resolution"パスを表示してロードしていますが、サムネイルに再度表示するとパフォーマンスが低下する経路を単純化するアルゴリズムを持つよりも。 – Duopixel
@Duopixel:私はそれが本当であるとは思わない。同じパスがDOMに2回表示されます。私はブラウザがそれを最適化すれば非常に驚くだろう。また、私が理解しているように、ミニプレビューはフルパスと同じアスペクト比ではなく、ストロークの幅も異なる場合があります(フルサイズのチャートに対して少し重くするのが理にかなっています)。 –