10 points par xguru 2021-12-23 | 3 commentaires | Partager sur WhatsApp
  • En créant une bibliothèque SVG pour le langage Zig, l’auteur en est venu à créer son propre format vectoriel

  • Aujourd’hui, la plupart des graphismes vectoriels utilisent SVG

→ Mais implémenter une nouvelle bibliothèque SVG est difficile

⇨ Parce qu’il repose sur XML/CSS/ECMAScript, entre autres

⇨ De plus, SVG lui-même est trop complexe, si bien que les images s’affichent différemment selon les implémentations

→ C’est particulièrement vrai lorsqu’il contient des balises , le rendu variant selon les systèmes

⇨ C’est pourquoi on utilise souvent aujourd’hui l’astuce consistant à convertir tout le texte en Path

  • TinyVG reprend les 95 % de fonctionnalités vraiment nécessaires de SVG

→ Sont exclus l’animation, le scripting, les ressources externes, la structure documentaire hiérarchique, etc.

  • Objectifs de conception

→ Encodage binaire compact (plus petit que SVG)

→ Prise en charge de plusieurs plateformes : GPU (jeu), CPU (applications desktop), Web, embarqué

→ Un sous-ensemble de SVG

→ Utilisable pour divers usages : icônes d’application/barre d’outils, graphiques et diagrammes, BD/illustrations, etc.

→ Implémentation simple

  • Sur des SVG optimisés, il atteint 40 % de la taille

3 commentaires

 
kbumsik 2021-12-23

Hmm, personnellement, je préférerais quand même un encodage texte.

 
cometkim 2021-12-23

Il y a aussi ThorVG, utilisé dans Tizen (les sigles se chevauchent, haha ;))

https://github.com/Samsung/thorvg

 
xguru 2021-12-23

Mais le site principal, https://tinyvg.tech/, est actuellement hors ligne.

Le fait que SVG soit complexe est bien connu, et diverses alternatives ont effectivement vu le jour.