J'ai commencé à lire sur la technologie Web disponible pour faire des jeux sur le Web avec seulement Javascript, mais je n'ai pas eu de commentaires sur SVG avec HTML5. Est-ce un choix viable? Fonctionne-t-il bien par rapport à d'autres techniques comme Canvas, DOM & CSS Transformation, etc.
performance
web
svg
HoLyVieR
la source
la source
Réponses:
SVG est pris en charge en HTML5; que le navigateur utilisé par votre lecteur soit compatible, c'est une autre histoire.
Selon vos besoins, vous devriez consulter RaphaelJS . Raphael fournit une prise en charge de type SVG pour IE en passant à VML lors du rendu pour IE. Raphael fournit de nombreuses fonctionnalités, notamment des animations et la prise en charge des polices Cufon. Ça vaut vraiment le coup d'oeil.
Étant donné que SVG fait partie du DOM, il est assez simple d'attacher des événements DOM tels que "cliquer" et "survoler" aux éléments SVG créés. Cela pourrait rendre SVG plus approprié pour les affichages de type HUD plutôt que pour animer des sprites, etc.
Cependant, vous avez probablement beaucoup de tests devant vous pour déterminer les caractéristiques de performances relatives de SVG par rapport à Canvas.
La manipulation directe du DOM sera probablement la pire du lot. Au fur et à mesure que vous changez des choses dans le DOM, le moteur de mise en page du navigateur recalculera la mise en page de la page pour s'adapter à vos modifications, ce qui tuera probablement les performances de votre jeu. Si vous devez suivre cette voie, préférez CSS (en particulier les fonctionnalités spécifiques à CSS3 comme les transformations et les images clés).
la source
Jetez un œil à ce site Web pour voir la compatibilité SVG. En ce moment, c'est au mieux douteux et je ne le recommanderais pas pour autre chose que des démos de test pour des vitrines.
Ne vous attendez pas à ce que les gens utilisent le dernier et le meilleur navigateur.
Je pense que l'utilisation de SVG serait une énorme erreur et gênera vos utilisateurs lorsqu'ils verront des choses cassées.
la source
Vous feriez beaucoup mieux d'utiliser Canvas. Aucun d'eux n'est pris en charge dans IE, et canvas est connu pour être une technologie de jeu Web viable; De plus, il a une vitesse de rendu décente, en particulier dans Chrome (et apparemment aussi dans IE9, selon les premières démos; je ne l'ai pas essayé récemment). Si vous devez cibler des versions plus anciennes d'IE et / ou de plates-formes mobiles, respectez le vieux DOM ordinaire, qui n'a pas de très bonnes performances mais qui est toujours acceptable pour les jeux simples (par exemple Pacman ).
la source
Réponse courte oui.
Longue réponse,
Je travaille toujours dans un environnement totalement dépendant d'IE6 et j'ai utilisé cette merveilleuse bibliothèque pour les graphiques. (qui utilise VML pour IE6-IE8) J'aime vraiment le canvas et le préfère pour écrire des jeux avec js. Donc si vous voulez faire un jeu en svg je dis le faire, d'autres jeux ont été créés en l'utilisant (voir les exemples Raphael). Quoi qu'il en soit, vous utiliserez toujours JS pour le faire, donc si vous voulez passer au canevas, ce ne sera pas aussi douloureux.
la source