Test de performances

Un certain nombre d’outils permettent de tester les performances des applications. Vous pouvez utiliser les classes Stats et PerformanceTest, développées par des membres de la communauté Flash, ainsi que le profileur d’Adobe® Flash® Builder™ et l’outil FlexPMD.

Classe Stats

Pour tester votre code à l’exécution à l’aide de la version commerciale du moteur d’exécution, sans outil externe, vous pouvez utiliser la classe Stats développée par mr. doob de la communauté Flash. Vous pouvez télécharger la classe Stats à l’adresse suivante : https://github.com/mrdoob/Hi-ReS-Stats .

La classe Stats permet d’assurer le suivi des éléments ci-dessous :
  • Nombre d’images rendues par seconde (plus ce nombre est élevé, mieux c’est).

  • Durée de rendu d’une image, en millisecondes (plus ce nombre est faible, mieux c’est).

  • Quantité de mémoire utilisée par le code. Si cette quantité augmente à chaque image, il est possible que votre application ait une fuite de mémoire. Il est important d’identifier ce problème potentiel.

  • Quantité maximale de mémoire utilisée par l’application.

Une fois la classe Stats téléchargée, vous pouvez l’utiliser avec le code compact ci-dessous :

import net.hires.debug.*; 
addChild( new Stats() );

En utilisant la compilation conditionnelle dans Adobe® Flash® Professional ou Flash Builder, vous pouvez activer l’objet Stats :

CONFIG::DEBUG 
{ 
    import net.hires.debug.*; 
    addChild( new Stats() ); 
}

Il vous suffit de basculer la valeur de la constante DEBUG pour activer ou désactiver la compilation de l’objet Stats. Vous pouvez appliquer cette technique pour remplacer toute logique de code que vous ne souhaitez pas compiler dans votre application.

Classe PerformanceTest

Pour profiler l’exécution du code ActionScript, Grant Skinner a développé un outil qu’il est possible d’intégrer à un flux de travail de test unitaire. Vous transmettez une classe personnalisée à la classe PerformanceTest, qui exécute une série de tests sur le code. La classe PerformanceTest facilite le test des performances de différentes techniques. Vous pouvez télécharger la classe PerformanceTest à l’adresse suivante : http://www.gskinner.com/blog/archives/2009/04/as3_performance.html .

Profileur Flash Builder

Flash Builder comprend un profileur permettant de tester les performances de votre code, de manière très détaillée.

Remarque : pour accéder à ce profileur, utilisez la version de débogage de Flash Player, sans quoi vous obtiendrez un message d’erreur.

Le profileur s’utilise également avec du contenu créé dans Adobe Flash Professional. A cet effet, chargez dans Flash Builder le fichier SWF compilé, depuis un projet ActionScript ou Flex, et exécutez le profileur sur le fichier. Pour plus d’informations sur le profileur, voir « Profilage des applications Flex » dans le guide Utilisation de Flash Builder 4 .

FlexPMD

Les services techniques Adobe offrent un outil, appelé FlexPMD, qui permet d’évaluer la qualité du code ActionScript 3.0. FlexPMD est un outil ActionScript, similaire à JavaPMD. FlexPMD améliore la qualité du code ActionScript en évaluant un répertoire source ActionScript 3.0 ou Flex. Il détecte les mauvaises pratiques de programmation, telles que le code inutilisé, trop complexe ou trop long et l’utilisation incorrecte du cycle de vie des composants Flex.

FlexPMD est un projet Open Source d’Adobe disponible à l’adresse suivante : http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD . Un module d’extension Eclipse est également disponible à l’adresse suivante : http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD+Eclipse+plugin .

FlexPMD facilite l’évaluation du code et permet de s’assurer qu’il est correct et optimisé. FlexPMD est un outil d’autant plus puissant qu’il est extensible. En tant que développeur, vous pouvez créer vos propres jeux de règles pour évaluer tout code. Libre à vous, par exemple, de créer un jeu de règles pour détecter l’utilisation excessive de filtres ou toute autre mauvaise pratique que vous souhaitez identifier.