svg に大きく依存する Web アプリケーションを構築しています。参考までに、私は raphael js ライブラリを使用してすべてを処理しています。
この特定のケースでは、スクロールバーを模倣し、画面全体で多数の svg 機能 (〜 500 要素) を移動するものを実装しました。これらの機能の一部は<text>
(~100) 要素です。その他の要素には、、<rect>
および<image>
要素が含まれ<path>
ます。
そのため、私のアプリケーションはラップトップではあまり機敏ではなく、速度のためにiPadで処理するのは本当に面倒であることに気付きました。ただし、スクロール中にテキスト要素が削除または無視されると、すぐに適切な速度になります。
いくつかの速度テスト ( を使用した非常に大雑把なものnew Date().getTime()
) を試してみたところ、要素を除くすべての要素を移動するのに ~10 ミリ秒かかることがわかりましたが、要素が含まれている<text>
場合は ~120 ミリ秒かかります。<text>
これは、各文字がベクトル形状としてレンダリングされ、そのような複雑な構造によって妨げられているものを正確に計算するために処理能力の負荷がかかるために発生すると考えています.
テキストを埋め込むだけで、テキストが図形ではなくラスター グラフィックとしてレンダリングされるようにすることはできますか? または、他の方法でテキストのレンダリングのパフォーマンスを向上させますか?
背景の透過性は必要ありません。派手なフォントも使用しません。