10 ポイント 投稿者 xguru 2021-12-23 | 3件のコメント | WhatsAppで共有
  • Zig言語向けのSVGライブラリを作るうちに、独自のベクターフォーマットを作ることになった

  • 現在のベクターグラフィックスでは、ほとんどがSVGを使用している

→ しかし新しいSVGライブラリの実装は難しい

⇨ XML/CSS/ECMAScriptなどを基盤として作られているため

⇨ さらにSVG自体も複雑すぎて、実装ごとに画像の見え方が異なる

→ 特にを含む場合はシステムによって異なる

⇨ そのため最近では、TextをすべてPathに変換する回避策が使われている

  • TinyVGは、SVGで本当に必要な95%の機能を備えている

→ アニメーション、スクリプティング、外部リソース、階層的な文書構造などは除外

  • 設計目標

→ コンパクトなバイナリエンコーディング(SVGより小さい)

→ 複数プラットフォームをサポート可能に:GPU(ゲーム)、CPU(デスクトップアプリ)、Web、組み込み

→ SVGのサブセット

→ 多様な用途に利用可能:アプリ/ツールバーのアイコン、グラフやダイアグラム、漫画/イラストなど

→ シンプルな実装

  • 最適化されたSVG比で40%のサイズを達成

3件のコメント

 
kbumsik 2021-12-23

うーん、それでもテキストエンコーディングであってほしいですね。

 
cometkim 2021-12-23

Tizenで使われているThorVGもあります(略称がかぶりますね w)

https://github.com/Samsung/thorvg

 
xguru 2021-12-23

でも、肝心のメインサイトである https://tinyvg.tech/ はダウンしている状態ですね。

SVGが複雑だというのは広く知られている事実で、さまざまな代替案も出てきています。