型付き配列から SVG パスを構築する最良の方法は何ですか?
このような配列は、asm.js 用にコンパイルされたコードから他の JavaScript スニペットにデータを転送する最良の方法のようです。
考えられるさまざまなアプローチが思い浮かびます。1 つのオプションはd
、asm.js アプリケーションのソース コードで属性テキストを作成することです。しかし、その文字列には多くの数字が含まれており、 の emscripten 実装sprintf
は一般的すぎて、ここで優れたパフォーマンスを発揮できません。したがって、このアプローチが競合する可能性があるとは思えません。
したがって、データは、生成された asm.js コードから手書きの JavaScript に、テキストではなく数値として渡される必要があります。1 つの可能性は、2 つの型付き配列(実際には同じ の異なるビューArrayBuffer
) を使用することです。1 つはセグメント タイプを保持し、もう 1 つは関連付けられた座標を保持します。このデータを手書きのコードで使用して、属性の文字列を計算したり、SVG DOM API からd
を使用してセグメント リストを作成したりできます。SVGPathSegList
ここでこれらの両方の選択肢を試しました: http://jsperf.com/svg-path-from-typed-arrays。
どちらのアプローチも特に高速ではないようです。 (編集: 千の区切り記号を小数点記号と間違えたようです。これが正しければ、1 秒あたり 10 回ではなくほぼ 10,000 回の操作があった場合、これはまったく問題ありません)
それでも、私が見逃した代替案はありますか?この種の操作をさらに高速化する方法はありますか? 新しい代替案を試してみたい場合は、私の jsperfを自由に編集してください。