Partager via


Améliorer la réactivité de votre application Windows

Ce guide vous aidera à améliorer la réactivité de votre application Windows en optimisant la latence pour le lancement et les interactions clés. Les interactions rapides et réactives (autrement appelées interactions à faible latence) créent une meilleure expérience utilisateur. Comprendre les attentes d’interaction, mesurer les durées actuelles et définir des objectifs d’amélioration en fonction de la classe d’interaction peut entraîner des améliorations significatives dans l’expérience et la satisfaction de vos utilisateurs.

Guide pas à pas pour optimiser les interactions pour un comportement réactif

Les clients peuvent ressentir quand le lancement d'une application, la navigation dans un menu, ou le chargement d'une page ou de contenu est lent. Ils sont venus s’attendre à une expérience rapide et transparente et nous avons partagé certaines étapes et conseils pour mieux comprendre ces attentes ci-dessous.

Les étapes de base pour optimiser la latence sont les suivantes :

  1. Définissez le scénario et ajoutez des événements TraceLogging.

    Créez une liste des interactions clés qu’un utilisateur utilisera lors de l’utilisation de votre application, comme le lancement, l’ouverture d’un menu, la navigation vers une nouvelle page et le rendu du contenu, etc. Pour chacune de ces interactions, ajoutez un événement de démarrage et un événement d’arrêt à utiliser pour la mesure et l’analyse. Apprenez-en davantage sur l’ajout de TraceLogging, un format permettant de décrire automatiquement le suivi d’événements pour Windows (ETW).

  2. Définissez des objectifs en fonction de la classe d’interaction.

    Les utilisateurs ont des attentes différentes pour les performances et la réactivité d’une application en fonction du type d’interaction. Par exemple, la rapidité de lancement d’une application par rapport à la vitesse de chargement d’une page. Pensez à la plage acceptable de temps écoulé nécessaire pour permettre aux utilisateurs d’effectuer les interactions clés dans votre application. Cela peut aller de 200 millisecondes (ms) à 5 secondes (s). Affectez ensuite à chaque tâche une étiquette de classe d’interaction avec un objectif associé. Vous trouverez ci-dessous quelques instructions de base, ainsi que des suggestions sur la façon dont vous pouvez inclure une interface utilisateur (UI) pour améliorer la perception de la réactivité :

Étiquette de classe d’interaction Perception de l’utilisateur Intervalle de retard Exemples Interface utilisateur suggérée
Rapide Délai minimalement visible 100 à 200 millisecondes Ouvrir la barre d’application, cliquez avec le bouton droit sur le menu
Interactif Rapide, mais pas rapide 300 - 500 ms Quitter une application, afficher les résultats de recherche mis en cache
Pause Pas rapide, mais semble réactif. 500 ms - 1 s Accédez à une autre page, reprenez l’application à partir d’un état suspendu, affichez les résultats de la recherche web Une animation d’entrée (par exemple, voler dans un nouveau contenu) peut être utilisée pour masquer le temps nécessaire pour ce scénario.
Attendre Pas rapide en raison d’une quantité de travail pour le scénario 1 à 3 secondes Lancement de l’application Un curseur en rotation/attente peut être utilisé pour noter la progression. Une animation de sortie et d’entrée (par exemple, faire glisser l’ancienne page vers l’extérieur, faire glisser la nouvelle page vers l’intérieur) peut être utilisée pour diminuer la perception du délai dans ce scénario.
Longue attente Ne se sent plus réactif 2 à 5 secondes Lancements d’applications volumineuses (utiliser l’écran de démarrage étendu), démarrage d’un flux vidéo HD Une « interface utilisateur de chargement » s’affiche, le cas échéant, inclure une option « annuler » pour l’utilisateur. L’interface utilisateur de chargement doit apparaître dans la classe d’interaction Rapide. L’interface utilisateur de chargement n’a pas besoin d’afficher un pourcentage ou une durée restante.
Captif Une longue attente – réservée aux scénarios inévitablement longs/complexes 5 à 10 secondes Connexion au système Une « interface utilisateur de chargement » ou une boîte de dialogue s’affiche, le cas échéant, inclure une option « annuler » pour l’utilisateur. La boîte de dialogue doit apparaître dans la classe d’interaction rapide. La boîte de dialogue doit afficher un pourcentage ou une durée restante si cela fournirait un contexte utile à l’utilisateur.
Exécution longue Opérations longues : les utilisateurs seront probablement multitâche (changer de tâche pendant l’opération). 10 à plus de 30 secondes Installation de nouvelles fonctionnalités ou mises à jour, téléchargements de fichiers volumineux L’interface utilisateur doit être conçue pour refléter la possibilité multitâche. Une boîte de dialogue de progression doit s’afficher, y compris une estimation de l’achèvement (pourcentage, temps restant, etc.). L’interface utilisateur peut également se réduire complètement et avertir uniquement l’utilisateur lorsque le scénario est terminé à l’aide d’une notification de type toast.
  1. Pour vérifier les durées exactes des interactions spécifiques, vous pouvez capturer et analyser une trace à l’aide de Windows Performance Analyzer (WPA).

    • Avant de capturer votre trace, mettez votre périphérique de test en mode veille en ouvrant le Gestionnaire des tâches et en vous assurant que l’utilisation du processeur soit inférieure à 5%. Cela réduit les interférences de mesure et fournit des traces de taille raisonnable. Cela vous aidera à mieux isoler l’interaction que vous souhaitez mesurer.

    • Pour capturer une trace, ouvrez une ligne de commande (PowerShell ou Invite de commandes) en mode administrateur.

    • Entrez la commande : wpr -start GeneralProfile -filemode

    • Exécutez le scénario d’interaction sur votre application.

    • Entrez la commande : wpr -stop Trace.etl

  2. Analysez la trace et trouvez des opportunités d’amélioration.

    Analysez la durée de chaque interaction clé prise en charge par votre application en ouvrant la trace que vous venez de capturer dans Windows Performance Analyzer (WPA).

    • Pour ouvrir la trace dans WPA, dans votre ligne de commande, entrez : wpa.exe Trace.etl
    • Développez la liste déroulante Activité système et double-cliquez sur « Événements génériques » pour ouvrir la vue d’analyse.
    • Choisissez la série d’événements associée à votre application et développez la liste déroulante « Nom du fournisseur » jusqu’à ce que vous puissiez trouver le processus, le nom de la tâche et le nom d’événement associé à l’interaction clé que vous recherchez. La durée de l’événement d’interaction est répertoriée dans la colonne Heure, ainsi que dans le graphique, affichant la durée, l’heure de début et l’heure de fin.

    Si la durée de votre trace n'atteint pas les objectifs du type d'interaction (par exemple, 500 ms), identifiez les threads clés de votre application (probablement le thread de l'interface utilisateur) et examinez les principales piles de données pour l'utilisation du processeur et les attentes. *N’oubliez pas que lorsque vous effectuez l’analyse, certains problèmes peuvent ne pas être spécifiques au code de votre propre application.

    Analyse de la durée de l’événement de trace

Ressources additionnelles