0
D3のパフォーマンスを最適化するために過去数日間苦労しました。 SVGでラインジェネレータを使用していて、x
とy
で使用されている関数を1回だけ計算したいとします。たとえば :d3ラインジェネレータで繰り返しメソッドを使用するとパフォーマンスが向上します
d3.line().curve(d3.curveLinear)
.x(function(d){ return Math.sqrt(d) }
.y(function(d){ return Math.sqrt(d) + 2) I
私はMath.sqrt(d)
の結果を保存して、唯一の時間を計算したいと思います。
誰にも提案はありますか?
でそれを使うだろうか?単純な数字の配列ですか? –
私はこれの実用的な使い方を理解していません:xとyの両方の座標に対して同じ計算をしているなら、あなたはいつも**左上からSVGのどこかにある。なぜあなたはこれをやっている? –
@TomShanley私はちょうど質問を単純化しました。私が実際に使っているのはリーフレットで、緯度と経度を '' x''と '' y''レイヤーポイントに変換しています。実際の関数は次のとおりです。 'd3.line()。curve(d3.curveLinear).x(function(d){return that.map.latLngToLayerPoint(d.LatLng).x;})。y(function( d){return that.map.latLngToLayerPoint(d.LatLng).y;}); 'それはLatLngの配列です。 –