背景:
私が取り組んでいるグラフィック プロジェクトは、PC では問題なく (高速に) 動作しますが、多くのタブレット (ここではオリジナルの iPad) では Canvas グラフィックの描画が非常に遅くなります。グラフィックは私のプロジェクトの大部分を占めているため、これはほとんど受け入れられません。
私は解決策として SVG を調査することを検討していますが、SVG 初心者です。全体的にスケーラブル(ベクター)なメリットは気に入っていますが、ファイルサイズが気になります。現在、クライアント側の Canvas 描画 fn に少量のデータを提供し、ブラウザーにキャンバスを描画させています。これはサーバーにとっては簡単で、帯域幅にも優れていますが、おそらくタブレット プロセッサにとっては負担が大きすぎます。
ただし、私のグラフィックには数百の SVG (「ノード」??) があるため、SVG が生成するテキストの量は膨大な量に見えます。
質問:
すべてのグラフィックスをローカルで前処理し、方法がわかればプロダクションにアップロードする時間があります。ローカル Web ページ (もちろんプログラムで - おそらく NodeJS) で SVG グラフィックを作成した場合、完成したグラフィックをファイルに変換して (「データ uri」とは何ですか?)、それを圧縮 (gzip) できますか? 私はすでにAJAX呼び出しを介してグラフィックを呼び出しているので、大したことはありません。
この前処理を行った場合、アプリ クライアントの作業は少なくなりますか? (現在は架空の) gzip 圧縮された SVG のファイル サイズは、数百の描画アイテムでも小さくなりますか? 多くの Javascript 描画キャンバス オブジェクトを処理する代わりに描画するだけの SVG を考えると、SVG の方が高速であるというのは理にかなっていますか? (私はKineticJSを使用しています。私が言ったように、PCで素晴らしいです)。
これは実行可能ですか、それとも描画速度の問題を解決するために間違ったツリーを鳴らしていると思いますか? プログラムで SVG を作成/圧縮するソリューションは既にありますか? いつもありがとうございます。