html5 canvas conseils de performances générales
Je suis en train de développer un jeu pour html5 canvas tout en ciblant essentiellement les appareils mobiles. La toile est redimensionnée à la plus grande résolution disponible, de sorte qu'il en fait presque un plein écran de jeu.
Sur un ipad, ce serait un 1024x786 toile; à une résolution comme ça j'ai remarqué une baisse significative du taux de rafraîchissement. Sur les petites résolutions d'480x320 sur iphone, le jeu fonctionne en douceur! Je suppose que c'est parce que l'appareil est fillrate limitée.
De toute façon, je tiens à optimiser autant que possible. Je vous serais très reconnaissant si vous pouviez poster toute les performances générales de trucs que vous avez pour html5 canvas développement.
- Deux articles sur la Manipulation de Pixels d'optimisation de la performance: - elekslabs.com/2012/11/html5-canvas-performance-and.html - elekslabs.com/2012/11/html5-canvas-performance-and_9.html
Vous devez vous connecter pour publier un commentaire.
Aussi voir ce toile d'optimisation de la performance article sur html5rocks, qui contient jsperf de données qui comprend les navigateurs mobiles.
Vous pouvez lire Faire un iPad Appli HTML5 & qui rend vraiment rapide par Thomas Fuchs
Les points clés il faire:
text-shadow
&box-shadow
opacity
si possible (interfère parfois avec l'accélération matérielle pour le rendu)translate3d
, pastranslate
(ce dernier n'est pas difficile à accélération)Quelques autres points qui peuvent améliorer les performances de manière significative:
getImageData
aussi rarement que possible (de ralentissement majeur) [2]Vous pouvez également de référence votre application avec google Chrome/Firebug Profil peut vous montrer quelles sont les fonctions qui sont lents.
[2] http://ajaxian.com/archives/canvas-image-data-optimization-tip
Un couple de plus de liens:
Il est difficile de donner de conseils car je ne suis pas assez familier avec votre jeu. Vous pourriez souhaitez diviser rendu à plusieurs couches, cependant. Cela a un sens, surtout si vous avez quelques éléments statiques là. De cette façon, vous pouvez éviter certains de compensation et améliorer le code en général.