2009-03-23 8 views
8

Je fais des recherches pour un projet JavaScript où la performance de dessin de primitives simples (c'est-à-dire des lignes) est de loin la priorité absolue.Quelle bibliothèque graphique JavaScript a les meilleures performances?

Les réponses à this question fournissent une excellente liste de bibliothèques graphiques JS. Alors que je me rends compte que le choix du navigateur a un impact plus important que la bibliothèque, j'aimerais savoir s'il y a des différences entre eux, avant d'en choisir un.

Quelqu'un at-il fait une comparaison des performances entre l'un de ces?

Répondre

7

Si vous ne le faites pas 3D, il suffit d'utiliser la toile brute avec excanvas comme un repli de l'explorateur. Votre goulot d'étranglement sera la vitesse d'exécution de javascript, pas la vitesse de rendu de ligne. Sauf pour IE, qui va s'enliser lorsque la scène devient trop complexe parce que VML construit réellement un dom.

Si vous êtes vraiment inquiet au sujet de la performance, allez-y avec flash et écrivez le tout dans actionscript. Vous obtiendrez un meilleur rendement, et avec le flex sdk vous n'avez même pas besoin d'acheter quoi que ce soit. Il existe plusieurs bibliothèques décentes pour la 3D dans Flash/Flex disponibles.

+0

Oui, cela semble être le consensus. Concernant Flash c'est ce que j'utilise habituellement, mais dans ce cas je veux spécifiquement le faire dans JS, pour le faire en JS (inspiré par Chrome Experiments). – DNS

+5

Salut, DU FUTUR. Nous sommes en 2013 et il y a beaucoup de bonnes bibliothèques de rendu de graphiques programmables. Flash est essentiellement mort. Il doit y avoir une étiquette «Obsolète» pour les questions/réponses qui étaient correctes il y a une demi-décennie, mais qui ne le sont plus. – aendrew

3

Aucun d'entre eux n'a de bonnes performances. Nous sommes en 2009 et l'état du rendu graphique programmable dans les navigateurs Web est vraiment déprimant. Je pourrais faire une interactivité plus rapide sur un terminal vt125 il y a 25 ans. Si vous faites quelque chose d'interactif, pensez à utiliser Flash ... Sinon j'irais chercher une solution lourde côté serveur en fonction de vos besoins

+1

Je sais qu'aucun d'entre eux n'a de bonnes performances; Je cherche qui a la performance la moins terrible. Et, bien que j'aie utilisé Flash pour une tonne d'autres projets, je veux spécifiquement le faire dans JS. – DNS

+0

ouais je comprends. je fais.J'ai passé des tas d'années à faire des graphiques et je ne pouvais vraiment pas imaginer faire quelque chose d'intéressant sur le plan graphique en utilisant de la pure JS. Peut-être que vous faites juste des diagrammes de flux et ce ne sera pas si mauvais:/ –

+0

+1 pour l'humour et l'honnêteté –

0

Pour le dessin de base (comme les lignes, les cercles et les polygones), je voudrais recommander Walter Zorn's Graphics Library. Il a été construit avec la performance en tête et fonctionne dans une tonne de navigateurs.

+1

il dessine des pixels en utilisant .... divs oye –

+0

Vérifiez les repères de performance de cette bibliothèque et comparez-les avec d'autres populaires. Puis re-focus sur la question, Capitaine ignorance. –

+1

une fois de plus parce que vous êtes un peu dense .. il dessine des pixels en utilisant .... divs –

0

Je sais que vous avez dit que le navigateur avait plus d'influence, alors pourquoi ne pas s'en tenir aux appels SVG optimisés? Ensuite, il « pourrait » travailler dans tous les navigateurs, mais ...

Chrome est assez robuste pour ne rendre la modélisation 3D efficace:

http://www.chromeexperiments.com/detail/monster/

+1

Je cherchais à essayer WebGL sur Chrome et Firefox 5 aujourd'hui. Il semble que parce que mon PC est toujours "XP" ... le pilote matériel ne convient pas. – will

0

Comment sur http://www.jsgl.org? Il utilise SVG/VML.

+0

soit en faire un commentaire ou l'élaborer correctement afin qu'il soit explicatif. –

3

Jusqu'à présent - est utilisé processing.js (javascript mise en œuvre de la toile du langage "Traitement") et/ou raphael.js (petit et pratique VML/SVG bibliothèque javascript).

La performance recomendations dépend de la tâche:

  • primitives complexes hautement dynamiques, (ou quantité énorme de celui-ci) - toile (pixels, API de bas niveau)

  • quantité inférieure de primitives, hautement évolutif, intégré dans DOM - SVG/VML (vecteur, API de haut niveau)

Questions connexes