Planification des performances des applications

Le succès de l’atteinte de vos objectifs de performance dépend de la façon dont vous développez votre stratégie de performance. La planification est la première étape du développement d’un produit. Cette rubrique décrit quelques règles très simples pour développer une bonne stratégie de performance.

Penser en termes de scénarios

Les scénarios peuvent vous aider à vous concentrer sur les composants critiques de votre application. Les scénarios sont généralement dérivés de vos clients, ainsi que de produits concurrentiels. Étudiez toujours vos clients et découvrez ce qui les rend vraiment excités par votre produit et les produits de vos concurrents. Les commentaires de vos clients peuvent vous aider à déterminer le scénario principal de votre application. Par exemple, si vous concevez un composant qui sera utilisé au démarrage, il est probable que le composant ne soit appelé qu’une seule fois, au démarrage de l’application. Le temps de démarrage devient votre scénario clé. D’autres exemples de scénarios clés peuvent être la fréquence d’images souhaitée pour les séquences d’animation, ou le jeu de travail maximal autorisé pour l’application.

Définir des objectifs

Les objectifs vous aident à déterminer si une application fonctionne plus rapidement ou plus lentement. Vous devez définir des objectifs pour tous vos scénarios. Tous les objectifs de performances que vous définissez doivent être basés sur les attentes de vos clients. Il peut être difficile de définir des objectifs de performances au début du cycle de développement d’applications, lorsqu’il existe encore de nombreux problèmes non résolus. Toutefois, il est préférable de définir un objectif initial et de le réviser plus tard que de ne pas avoir d’objectif du tout.

Comprendre votre plateforme

Conservez toujours le cycle de mesure, d’examen, d’affinement/de correction pendant le cycle de développement de votre application. Depuis le début jusqu’à la fin du cycle de développement, vous devez mesurer les performances de votre application dans un environnement fiable et stable. Vous devez éviter la variabilité causée par des facteurs externes. Par exemple, lorsque vous testez les performances, vous devez désactiver un antivirus ou toute mise à jour automatique telle que SMS, afin de ne pas affecter les résultats des tests de performances. Une fois que vous avez mesuré les performances de votre application, vous devez identifier les modifications qui entraînent les améliorations les plus importantes. Une fois que vous avez modifié votre application, recommencez le cycle.

Rendre le réglage des performances un processus itératif

Vous devez connaître le coût relatif de chaque fonctionnalité que vous utiliserez. Par exemple, l’utilisation de la réflexion dans Microsoft .NET Framework est généralement intensive en termes de performances en termes de ressources de calcul, de sorte que vous souhaitez l’utiliser judicieusement. Cela ne signifie pas pour éviter l’utilisation de la réflexion, uniquement que vous devez être prudent pour équilibrer les exigences de performances de votre application avec les exigences de performances des fonctionnalités que vous utilisez.

Générer vers la richesse graphique

Une technique clé pour la création d’une approche évolutive pour atteindre les performances des applications WPF consiste à créer une richesse graphique et une complexité. Commencez toujours par utiliser les ressources les moins gourmandes en performances pour atteindre vos objectifs de scénario. Une fois que vous avez atteint ces objectifs, générez-vous vers la richesse graphique en utilisant des fonctionnalités plus gourmandes en performances, en gardant toujours à l’esprit vos objectifs de scénario. N’oubliez pas que WPF est une plateforme très riche et fournit des fonctionnalités graphiques très riches. L’utilisation de fonctionnalités gourmandes en performances sans penser peut avoir un impact négatif sur les performances globales de votre application.

Les contrôles WPF sont intrinsèquement extensibles en autorisant la personnalisation à grande échelle de leur apparence, tout en ne modifiant pas leur comportement de contrôle. En tirant parti des styles, des modèles de données et des modèles de contrôle, vous pouvez créer et faire évoluer de manière incrémentielle une interface utilisateur personnalisable qui s’adapte à vos besoins en matière de performances.

Voir aussi