私はキャンバスに描画しているいくつかのコードに取り組んでいます。コードの一部がキャンバスに線を描きます。これらの行の位置と色は変更されませんが、他のコードが影響を受けている可能性があるため、再描画する必要があります(例:上に描画)。htmlキャンバスのパスへの参照を保存する
描画する線数は数百になることがあります。この場合、プロファイリングでは描画に約200msかかることがわかります。これを多少最適化することを検討しています。
キャンバスに描画するときは、基本的にパスにポイントを追加してから、準備ができたらそのパスを塗りつぶしたり、ストロークすることができます。キャンバス上のピクセルは古くなっていますが、パスへの参照を保持できれば、以前に構築されたパスを再描画するだけで簡単に更新できます。
私の質問は、あなたはどのようにPathオブジェクトを取得しますか?
塗りと線方法はaccept a path objectに見える、とだけおさらいに、だから... ...
をスペックはmethods for Path定義していますが、私はどこにも実際のPath
クラスを見つけることができないよう:
私はこのようなものを持っている:
012:私が好きな何function update() {
context.beginPath();
// lots of lines added to the default path...
context.moveTo(x1, y1); context.lineTo(somewhere, else);
context.moveTo(x2, y2); context.lineTo(somewhere, else);
context.stroke();
}
はこのようなものです
PathオブジェクトはChrome Canaryで使用できるようになりました。すぐに通常のChromeで。 – K3N
@Kenパスオブジェクトがクロスブラウザーで利用できるという考えで、私は私の顔に大きな笑みを浮かべています! – markE