Documentation de référence sur les fonctionnalités de performances

Sofia Emelianova
Sofia Emelianova

Cette page est une référence complète des fonctionnalités des outils pour les développeurs Chrome liées à l'analyse des performances.

Consultez Analyser les performances d'exécution pour suivre un tutoriel guidé sur l'analyse des performances d'une page à l'aide des outils pour les développeurs Chrome.

Enregistrer les performances

Vous pouvez enregistrer les performances d'exécution ou de chargement.

Enregistrer les performances d'exécution

Enregistrez les performances d'exécution lorsque vous souhaitez analyser les performances d'une page pendant son exécution, par opposition au chargement.

  1. Accédez à la page que vous souhaitez analyser.
  2. Cliquez sur l'onglet Performances dans DevTools.
  3. Cliquez sur Enregistrer Enregistrez..

    Enregistrez.

  4. Interagissez avec la page. DevTools enregistre toute l'activité de la page qui se produit en raison de vos interactions.

  5. Cliquez à nouveau sur Enregistrer ou sur Arrêter pour arrêter l'enregistrement.

Enregistrer les performances de chargement

Enregistrez les performances de chargement lorsque vous souhaitez analyser les performances d'une page pendant son chargement, et non pendant son exécution.

  1. Accédez à la page que vous souhaitez analyser.
  2. Ouvrez le panneau Performances des outils pour les développeurs.
  3. Cliquez sur Démarrer le profilage et actualiser la page Démarrez le profilage et actualisez la page.. DevTools accède d'abord à about:blank pour effacer toutes les captures d'écran et traces restantes. DevTools enregistre ensuite les métriques de performances pendant le rechargement de la page, puis arrête automatiquement l'enregistrement quelques secondes après la fin du chargement.

    Rechargez la page.

Les outils de développement font automatiquement un zoom avant sur la partie de l'enregistrement où la plupart des activités ont eu lieu.

Enregistrement du chargement de la page.

Dans cet exemple, le panneau Performances affiche l'activité pendant le chargement d'une page.

Faire des captures d'écran pendant l'enregistrement

Cochez la case Captures d'écran pour prendre une capture d'écran de chaque frame pendant l'enregistrement.

Case à cocher "Captures d'écran".

Consultez Afficher une capture d'écran pour découvrir comment interagir avec les captures d'écran.

Forcer la récupération de mémoire pendant l'enregistrement

Lorsque vous enregistrez une page, cliquez sur l'icône Collect garbage (Collecter les déchets) pour forcer la récupération de mémoire.

Récupérez la mémoire.

Afficher les paramètres d'enregistrement

Cliquez sur Capture settings (Paramètres de capture) Paramètres de capture. pour afficher d'autres paramètres liés à la façon dont DevTools capture les enregistrements de performances.

Section "Paramètres de capture".

Désactiver les échantillons JavaScript

Par défaut, la piste Principale d'un enregistrement affiche des piles d'appels détaillées des fonctions JavaScript appelées pendant l'enregistrement. Pour désactiver ces piles d'appels:

  1. Ouvrez le menu Paramètres de capture Paramètres.. Consultez la section Afficher les paramètres d'enregistrement.
  2. Cochez la case Désactiver les échantillons JavaScript.
  3. Enregistrez la page.

Les captures d'écran suivantes montrent la différence entre la désactivation et l'activation des exemples JavaScript. La piste Principale de l'enregistrement est beaucoup plus courte lorsque l'échantillonnage est désactivé, car elle omet toutes les piles d'appels JavaScript.

Exemple d'enregistrement lorsque les échantillons JS sont désactivés.

Cet exemple montre un enregistrement avec des exemples JS désactivés.

Exemple d'enregistrement lorsque les échantillons JS sont activés.

Cet exemple montre un enregistrement avec des exemples JS activés.

Limiter le débit réseau pendant l'enregistrement

Pour limiter le débit du réseau pendant l'enregistrement:

  1. Ouvrez le menu Paramètres de capture Paramètres.. Consultez la section Afficher les paramètres d'enregistrement.
  2. Définissez Network (Réseau) sur le niveau de limitation choisi.

Limiter la consommation de ressources processeur pendant l'enregistrement

Pour limiter la consommation de ressources processeur pendant l'enregistrement:

  1. Ouvrez le menu Paramètres de capture Paramètres.. Consultez la section Afficher les paramètres d'enregistrement.
  2. Définissez CPU sur le niveau de limitation choisi.

Le débit est limité en fonction des capacités de votre ordinateur. Par exemple, l'option Ralentir de 2 fois fait fonctionner votre processeur deux fois plus lentement que d'habitude. DevTools ne peut pas vraiment simuler les processeurs des appareils mobiles, car l'architecture des appareils mobiles est très différente de celle des ordinateurs de bureau et des ordinateurs portables.

Activer les statistiques du sélecteur CSS

Pour afficher les statistiques de vos sélecteurs de règles CSS lors d'événements Recalculate Style (Recalculer le style) de longue durée:

  1. Ouvrez le menu Paramètres de capture Paramètres.. Consultez la section Afficher les paramètres d'enregistrement.
  2. Cochez la case Enable CSS selector stats (Activer les statistiques du sélecteur CSS).

Pour en savoir plus, découvrez comment analyser les performances des sélecteurs CSS lors des événements de recalcul de style.

Activer l'instrumentation de peinture avancée

Pour afficher l'instrumentation de peinture détaillée:

  1. Ouvrez le menu Paramètres de capture Paramètres.. Consultez la section Afficher les paramètres d'enregistrement.
  2. Cochez la case Activer l'instrumentation de peinture avancée.

Pour découvrir comment interagir avec les informations de peinture, consultez Afficher les calques et Afficher le profileur de peinture.

Émuler la simultanéité matérielle

Pour tester les performances de l'application avec différents nombres de cœurs de processeur, vous pouvez configurer la valeur indiquée par la propriété navigator.hardwareConcurrency. Certaines applications utilisent cette propriété pour contrôler le degré de parallélisme de leur application, par exemple pour contrôler la taille du pool pthread Emscripten.

Pour émuler la simultanéité matérielle:

  1. Ouvrez le menu Paramètres de capture Paramètres.. Consultez la section Afficher les paramètres d'enregistrement.
  2. Cochez Cohérence matérielle et définissez le nombre de cœurs dans la zone de saisie. Simultanéité matérielle

Les outils pour les développeurs affichent une icône d'avertissement Avertissement. à côté de l'onglet Performances pour vous rappeler que l'émulation de la concurrence matérielle est activée.

Pour rétablir la valeur par défaut de 10, cliquez sur le bouton Rétablir Annulez..

Sauvegarder un enregistrement

Pour enregistrer un enregistrement, effectuez un clic droit et sélectionnez Enregistrer le profil.

Enregistrez le profil.

Charger un enregistrement

Pour charger un enregistrement, effectuez un clic droit et sélectionnez Load Profile (Charger le profil).

Charger le profil.

Effacer l'enregistrement précédent

Après avoir effectué un enregistrement, appuyez sur Effacer l'enregistrement Effacer l'enregistrement pour le supprimer du panneau Performances.

Effacer l'enregistrement

Analyser un enregistrement de performances

Une fois que vous avez enregistré les performances d'exécution ou les performances de chargement, le panneau Performances fournit de nombreuses données pour analyser les performances de ce qui vient de se passer.

Pour examiner de près votre enregistrement de performances, vous pouvez sélectionner une partie de l'enregistrement, faire défiler un graphique en forme de flamme long, faire un zoom avant et arrière, et utiliser les repères pour passer d'un niveau de zoom à un autre.

Sélectionner une partie de l'enregistrement

Sous la barre d'action du panneau Performances et en haut de l'enregistrement, vous pouvez voir la section Vue d'ensemble de la chronologie avec les graphiques CPU et NET.

Vue d'ensemble de la chronologie sous la barre d'action.

Pour sélectionner une partie d'un enregistrement, cliquez de manière prolongée, puis faites glisser le curseur vers la gauche ou la droite dans la Vue d'ensemble de la chronologie.

Pour sélectionner une portion à l'aide du clavier:

  1. Mettez en surbrillance le canal Principal ou l'un de ses voisins.
  2. Utilisez les touches W, A, S et D pour faire un zoom avant, vous déplacer vers la gauche, faire un zoom arrière et vous déplacer vers la droite, respectivement.

Pour sélectionner une partie à l'aide d'un pavé tactile:

  1. Pointez sur la section Aperçu de la chronologie ou sur l'une des pistes (Principale et ses voisines).
  2. Balayer l'écran vers le haut pour faire un zoom arrière, vers la gauche pour se déplacer vers la gauche, vers le bas pour faire un zoom avant et vers la droite pour se déplacer vers la droite.

La vue d'ensemble de la chronologie vous permet de créer plusieurs fil d'Ariane imbriqués à la suite, d'augmenter les niveaux de zoom, puis de passer librement d'un niveau de zoom à un autre.

Pour créer et utiliser des fil d'Ariane:

  1. Dans Vue d'ensemble de la chronologie, sélectionnez une partie de l'enregistrement.
  2. Pointez sur la sélection, puis cliquez sur le bouton N ms. La sélection s'étend pour remplir la vue d'ensemble de la chronologie. Une chaîne de fil d'Ariane commence à se former en haut de la présentation de la chronologie.
  3. Répétez les deux étapes précédentes pour créer un autre fil d'Ariane imbriqué. Vous pouvez continuer à imbriquer des fils d'Ariane tant que la plage de sélection est supérieure à cinq millisecondes.
  4. Pour accéder à un niveau de zoom choisi, cliquez sur le fil d'Ariane correspondant dans la chaîne en haut de l'aperçu de la timeline.

Pour supprimer les fils d'Ariane enfants d'un fil d'Ariane parent, effectuez un clic droit sur le fil d'Ariane parent, puis sélectionnez Supprimer les fils d'Ariane enfants.

Faire défiler un graphique de flammes long

Pour faire défiler un graphique en forme de flamme long dans le canal Principal ou dans l'un de ses canaux voisins, cliquez de manière prolongée, puis faites glisser dans n'importe quelle direction jusqu'à ce que ce que vous recherchez s'affiche.

Vous pouvez rechercher dans les activités du canal Principal et les requêtes du canal Réseau.

Pour ouvrir un champ de recherche en bas du panneau Performances, appuyez sur:

  • macOS: Cmd+F
  • Windows, Linux: Ctrl+F

Champ de recherche

Cet exemple montre une expression régulière dans le champ de recherche en bas qui recherche toute activité commençant par E.

Pour faire défiler les activités qui correspondent à votre requête:

  • Cliquez sur les boutons Précédent ou Suivant.
  • Appuyez sur Maj+Entrée pour sélectionner l'élément précédent ou sur Entrée pour sélectionner l'élément suivant.

Le panneau Performances affiche une info-bulle sur l'activité sélectionnée dans le champ de recherche.

Pour modifier les paramètres des requêtes:

  • Cliquez sur Respecter la casse pour rendre la requête sensible à la casse.
  • Cliquez sur Expression régulière pour utiliser une expression régulière dans votre requête.

Pour masquer la zone de recherche, cliquez sur Annuler.

Modifier l'ordre des canaux et les masquer

Pour désencombrer la trace des performances, vous pouvez modifier l'ordre des traces et masquer celles qui ne sont pas pertinentes en mode de configuration des traces.

Pour déplacer et masquer des pistes:

  1. Pour accéder au mode de configuration, effectuez un clic droit sur le nom d'un canal, puis sélectionnez Configurer les canaux.
  2. Cliquez sur vers le haut ou vers le bas pour déplacer un canal vers le haut ou vers le bas. Cliquez sur pour le masquer.
  3. Lorsque vous avez terminé, cliquez sur Terminer la configuration des pistes en bas de l'écran pour quitter le mode de configuration.

Regardez la vidéo pour voir ce workflow en action.

Le panneau Performances enregistre la configuration des traces pour les nouvelles traces, mais pas pour les prochaines sessions DevTools.

Afficher l'activité du thread principal

Utilisez la piste Principale pour afficher l'activité qui s'est produite sur le thread principal de la page.

Piste principale.

Cliquez sur un événement pour afficher plus d'informations à son sujet dans l'onglet Récapitulatif. Le panneau Performances délimite l'événement sélectionné en bleu.

Informations supplémentaires sur un événement de thread principal dans l'onglet "Récapitulatif".

Cet exemple fournit plus d'informations sur l'événement d'appel de fonction get dans l'onglet Récapitulatif.

Lire le graphique de flammes

Le panneau Performances représente l'activité du thread principal dans un graphique en forme de flamme. L'axe des abscisses représente l'enregistrement au fil du temps. L'axe des ordonnées représente la pile d'appels. Les événements en haut provoquent les événements en bas.

Graphique de flammes.

Cet exemple montre un graphique en forme de flamme dans le canal Principal. Un événement click a entraîné un appel de fonction anonyme. Cette fonction a à son tour appelé onEndpointClick_, qui a appelé handleClick_, et ainsi de suite.

Le panneau Performances attribue des couleurs aléatoires aux scripts pour fractionner le graphique en flammes et le rendre plus lisible. Dans l'exemple précédent, les appels de fonction d'un script sont de couleur bleu clair. Les appels provenant d'un autre script sont de couleur rose clair. Le jaune plus foncé représente l'activité de script, et l'événement violet représente l'activité de rendu. Ces événements jaune et violet plus foncés sont cohérents dans tous les enregistrements.

Les tâches longues sont également mises en évidence par un triangle rouge, et la partie supérieure à 50 millisecondes est mise en surbrillance en rouge:

Une tâche longue.

Dans cet exemple, la tâche a pris plus de 400 millisecondes. La partie représentant les 350 dernières millisecondes est donc mise en surbrillance en rouge, tandis que les 50 millisecondes initiales ne le sont pas.

De plus, le canal Principal affiche des informations sur les profils de processeur démarrés et arrêtés à l'aide des fonctions de console profile() et profileEnd().

Pour masquer le graphique en forme de flamme détaillé des appels JavaScript, consultez Désactiver les exemples JavaScript. Lorsque les échantillons JavaScript sont désactivés, vous ne voyez que les événements de haut niveau tels que Event (click) et Function Call.

Suivre les initiateurs d'événements

La piste Principale peut afficher des flèches qui relient les initiateurs suivants aux événements qu'ils ont provoqués:

  • Invalidation du style ou de la mise en page -> Recalculer les styles ou Mise en page
  • Request Animation Frame -> Animation Frame Fired
  • Request Idle Callback (Demander un rappel à la prochaine période d'inactivité) -> Fire Idle Callback (Déclencher le rappel à la prochaine période d'inactivité)
  • Installer un minuteur -> Minuteur déclenché
  • Créer un WebSocket -> Envoyer et Recevoir le handshake WebSocket ou Détruire le WebSocket

Pour afficher les flèches, recherchez un déclencheur ou l'événement qu'il a provoqué dans le graphique en forme de flamme, puis sélectionnez-le.

Flèche de la requête au déclenchement d'un rappel d'inactivité.

Lorsque l'onglet "Récapitulatif" est sélectionné, les liens Initiateur de s'affichent pour les initiateurs et les liens Déclenché par pour les événements qu'ils ont causés. Cliquez dessus pour passer d'un événement à un autre.

Lien "Initiateur de" dans l'onglet "Résumé".

Masquer les fonctions et leurs enfants dans le graphique en forme de flamme

Pour désencombrer le graphique de type "flamme" dans le thread Principal, vous pouvez masquer des fonctions sélectionnées ou leurs enfants:

  1. Dans le canal Principal, effectuez un clic droit sur une fonction, puis choisissez l'une des options suivantes ou appuyez sur le raccourci correspondant:

    • Masquer une fonction (H)
    • Masquer les enfants (C)
    • Masquer les enfants récurrents (R)
    • Réinitialiser les enfants (U)
    • Réinitialiser la trace (T)
    • Ajouter un script à la liste des éléments à ignorer (I)

    Menu contextuel avec des options permettant de masquer la fonction sélectionnée ou ses enfants.

    Un bouton de menu déroulant apparaît à côté du nom de la fonction avec des enfants masqués.

  2. Pour afficher le nombre d'enfants masqués, pointez sur le bouton du menu déroulant .

    Info-bulle sur le bouton du menu déroulant avec le nombre d'enfants masqués.

  3. Pour réinitialiser une fonction avec des enfants masqués ou l'ensemble du graphique de type "flamme", sélectionnez la fonction et appuyez sur U ou effectuez un clic droit sur une fonction, puis sélectionnez Réinitialiser la trace.

Ignorer les scripts dans le graphique en forme de flamme

Pour ajouter un script à la liste des éléments à ignorer, effectuez un clic droit sur un script dans le graphique, puis sélectionnez Ajouter un script à la liste des éléments à ignorer.

Menu contextuel avec l'option "Ignorer le script" sélectionnée.

Le graphique réduit les scripts ignorés, les marque comme Dans la liste d'éléments à ignorer et les ajoute aux règles d'exclusion personnalisée dans Paramètres > Liste d'éléments à ignorer. Les scripts ignorés sont enregistrés jusqu'à ce que vous les supprimiez de la trace ou des règles d'exclusion personnalisées.

Onglet "Liste des scripts à ignorer" dans "Paramètres".

Afficher les activités dans un tableau

Une fois une page enregistrée, vous n'avez pas besoin de vous fier uniquement à la piste Principale pour analyser les activités. DevTools fournit également trois vues tabulaires pour analyser les activités. Chaque vue vous donne une perspective différente sur les activités:

  • Lorsque vous souhaitez afficher les activités racine qui génèrent le plus de travail, utilisez l'onglet Arbre d'appels.
  • Lorsque vous souhaitez afficher les activités pour lesquelles vous avez passé le plus de temps directement, utilisez l'onglet De bas en haut.
  • Pour afficher les activités dans l'ordre dans lequel elles se sont produites pendant l'enregistrement, utilisez l'onglet Journal des événements.

Pour vous aider à trouver plus rapidement ce que vous recherchez, les trois onglets comportent des boutons de filtrage avancé à côté de la barre Filtrer:

  • Respecter la casse
  • Expression régulière
  • Correspondre au mot entier

Bouton "3" pour le filtrage avancé.

Chaque vue tabulaire du panneau Performances affiche des liens vers des activités telles que les appels de fonction. Pour vous aider à déboguer, DevTools recherche les déclarations de fonction correspondantes dans les fichiers sources. De plus, si les mappages source appropriés sont présents et activés, les outils de développement trouvent automatiquement les fichiers d'origine.

Cliquez sur un lien pour ouvrir un fichier source dans le panneau Sources.

Lien vers un fichier source dans l'onglet "Journal des événements".

Activités racine

Voici une explication du concept d'activités racine mentionné dans les sections Arbre d'appels, Descendant et Journal des événements.

Les activités racine sont celles qui font effectuer des tâches au navigateur. Par exemple, lorsque vous cliquez sur une page, le navigateur déclenche une activité Event en tant qu'activité racine. Ce Event peut alors entraîner l'exécution d'un gestionnaire.

Dans le graphique en forme de flamme du canal Principal, les activités racine se trouvent en haut du graphique. Dans les onglets Arbre d'appels et Journal des événements, les activités racine sont les éléments de premier niveau.

Pour voir un exemple d'activités racine, consultez l'onglet "Arbre d'appels".

Onglet "Arborescence d'appel"

Utilisez l'onglet Arborescence des appels pour voir quelles activités racine génèrent le plus de travail.

L'onglet Arborescence des appels n'affiche que les activités pendant la partie sélectionnée de l'enregistrement. Pour savoir comment sélectionner une partie d'un enregistrement, consultez Sélectionner une partie d'un enregistrement.

L'onglet "Arborescence d'appel".

Dans cet exemple, les éléments de niveau supérieur de la colonne Activité, tels que Event, Paint et Composite Layers, sont des activités racine. L'imbrication représente la pile d'appels. Dans cet exemple, Event a provoqué Function Call, qui a provoqué button.addEventListener, qui a provoqué b, et ainsi de suite.

Temps propre : représente le temps directement passé dans cette activité. Durée totale : représente le temps passé dans cette activité ou dans l'une de ses activités enfants.

Cliquez sur Temps personnel, Temps total ou Activité pour trier le tableau par cette colonne.

Utilisez la zone Filtrer pour filtrer les événements par nom d'activité.

Par défaut, le menu Regroupement est défini sur Aucun regroupement. Utilisez le menu Groupement pour trier le tableau des activités en fonction de différents critères.

Cliquez sur Afficher la pile la plus lourde Afficher la pile la plus lourde. pour afficher un autre tableau à droite du tableau Activité. Cliquez sur une activité pour renseigner le tableau Pile la plus lourde. Le tableau Pile la plus lourde indique les enfants de l'activité sélectionnée dont l'exécution a pris le plus de temps.

Onglet "Bas en haut"

Utilisez l'onglet De bas en haut pour voir quelles activités ont directement pris le plus de temps au total.

L'onglet De bas en haut n'affiche que les activités pendant la partie sélectionnée de l'enregistrement. Pour savoir comment sélectionner une partie d'un enregistrement, consultez Sélectionner une partie d'un enregistrement.

Onglet "Bottom-Up" (De bas en haut).

Dans le graphique en forme de flamme de la piste Principale de cet exemple, vous pouvez voir que presque tout le temps a été consacré à l'exécution des trois appels à wait(). Par conséquent, l'activité la plus importante dans l'onglet De bas en haut est wait. Dans le graphique en forme de flamme, la couleur jaune sous les appels à wait correspond en réalité à des milliers d'appels Minor GC. Par conséquent, vous pouvez voir que dans l'onglet Ascendant, l'activité la plus coûteuse suivante est Minor GC.

La colonne Temps propre représente le temps cumulé passé directement dans cette activité, pour toutes ses occurrences.

La colonne Durée totale représente le temps cumulé passé dans cette activité ou dans l'une de ses activités enfants.

Onglet "Journal des événements"

Utilisez l'onglet Journal des événements pour afficher les activités dans l'ordre dans lequel elles se sont produites pendant l'enregistrement.

L'onglet Journal des événements n'affiche que les activités pendant la partie sélectionnée de l'enregistrement. Pour savoir comment sélectionner une partie d'un enregistrement, consultez Sélectionner une partie d'un enregistrement.

Onglet "Journal des événements".

La colonne Heure de début indique le moment où cette activité a commencé, par rapport au début de l'enregistrement. L'heure de début de 1573.0 ms pour l'élément sélectionné dans cet exemple signifie que l'activité a commencé 1 573 ms après le début de l'enregistrement.

La colonne Temps propre indique le temps passé directement dans cette activité.

Les colonnes Durée totale représentent le temps passé directement dans cette activité ou dans l'une de ses activités enfants.

Cliquez sur Heure de début, Temps de l'utilisateur ou Durée totale pour trier le tableau par cette colonne.

Utilisez la zone Filtrer pour filtrer les activités par nom.

Utilisez le menu Durée pour filtrer les activités qui ont pris moins de 1 ms ou 15 ms. Par défaut, le menu Durée est défini sur Tout, ce qui signifie que toutes les activités sont affichées.

Désactivez les cases à cocher Chargement, Scripting, Rendu ou Peinture pour filtrer toutes les activités de ces catégories.

Afficher les codes temporels

Sur la piste Timings (Calendrier), affichez des repères importants, comme:

Repères dans la piste "Timings".

Sélectionnez un repère pour afficher plus de détails dans l'onglet Résumé, y compris son code temporel, sa durée totale, sa durée propre et l'objet detail. Pour les appels performance.mark() et performance.measure(), l'onglet affiche également des traces de pile.

Afficher les interactions

Examinez les interactions des utilisateurs dans le canal Interactions pour identifier les problèmes de réactivité potentiels.

Pour afficher les interactions:

  1. Ouvrez les outils de développement, par exemple sur cette page de démonstration.
  2. Ouvrez le panneau Performances, puis lancez un enregistrement.
  3. Cliquez sur un élément (café) et arrêtez l'enregistrement.
  4. Recherchez la piste Interactions dans la chronologie.

Le canal "Interactions".

Dans cet exemple, le canal Interactions affiche l'interaction Pointeur. Les interactions comportent des barbes qui indiquent les retards d'entrée et de présentation aux limites de temps de traitement. Pointez sur l'interaction pour afficher une info-bulle indiquant le délai d'entrée, le temps de traitement et le délai de présentation.

Le canal Interactions affiche également des avertissements Interaction to Next Paint (INP) pour les interactions de plus de 200 millisecondes dans l'onglet Récapitulatif et dans une info-bulle lorsque vous pointez dessus:

Avertissement INP.

Le tracé Interactions marque les interactions de plus de 200 millisecondes avec un triangle rouge en haut à droite.

Afficher l'activité du GPU

Affichez l'activité du GPU dans la section GPU.

Section sur le GPU.

Afficher l'activité raster

Affichez l'activité de rendu dans la section Pool de threads.

Activité de rendu raster dans la section "Pool de threads".

Analyser les images par seconde (FPS)

Les outils de développement proposent de nombreuses façons d'analyser les images par seconde:

Section "Frames" (Cadres)

La section Frames (Cadres) indique la durée exacte d'un cadre spécifique.

Pointez sur un cadre pour afficher une info-bulle contenant des informations supplémentaires à son sujet.

Pointez sur un cadre.

Cet exemple montre une info-bulle lorsque vous pointez sur un cadre.

La section Cadres peut afficher quatre types de cadres:

  1. Frame inactif (blanc) Aucune modification.
  2. Cadre (vert) Affichage comme prévu et à temps.
  3. Cadre partiellement présenté (jaune avec un motif de tirets espacés et larges) Chrome a fait de son mieux pour afficher au moins certaines mises à jour visuelles à temps. Par exemple, si le travail du thread principal du processus de rendu (animation du canevas) est en retard, mais que le thread du compositeur (défilement) est à l'heure.
  4. Frame supprimé (rouge avec un motif de ligne continue dense) Chrome ne parvient pas à afficher le frame dans un délai raisonnable.

Pointez sur un frame partiellement présenté.

Cet exemple affiche une info-bulle lorsque vous pointez sur un frame partiellement présenté.

Cliquez sur un cadre pour afficher encore plus d'informations à son sujet dans l'onglet Récapitulatif. DevTools souligne le frame sélectionné en bleu.

Affichage d'un frame dans l'onglet "Résumé".

Afficher les requêtes réseau

Développez la section Réseau pour afficher une cascade de requêtes réseau qui ont eu lieu pendant l'enregistrement des performances.

Requête sélectionnée dans le canal "Network" (Réseau), avec l'onglet "Summary" (Récapitulatif) ouvert.

À côté du nom du canal Network (Réseau), une légende indique les types de requêtes par code couleur.

Les requêtes bloquant le rendu sont marquées d'un triangle rouge en haut à droite.

Pointez sur une demande pour afficher une info-bulle contenant les informations suivantes:

  • URL de la requête et temps total d'exécution.
  • Priorité ou modification de priorité, par exemple, Medium -> High.
  • Indique si la requête est Render blocking ou non.
  • Une répartition des délais de requête, décrite plus loin.

Lorsque vous cliquez sur une requête, le canal Network (Réseau) dessine une flèche de l'initiateur vers la requête.

En outre, le panneau Performances affiche l'onglet Résumé avec plus d'informations sur la requête, y compris, mais sans s'y limiter, les champs Priorité initiale et Priorité (finale). Si leurs valeurs diffèrent, la priorité de récupération de la requête a changé pendant l'enregistrement. Pour en savoir plus, consultez Optimiser le chargement des ressources avec l'API Fetch Priority.

L'onglet Summary (Récapitulatif) affiche également une répartition des délais de la requête.

Répartition des délais de requête dans l'onglet "Récapitulatif".

La requête pour www.google.com est représentée par une ligne à gauche (|–), une barre au milieu avec une partie sombre et une partie claire, et une ligne à droite (–|).

Vous trouverez une autre répartition des temps dans l'onglet Réseau. Effectuez un clic droit sur la demande dans le canal Network ou sur son URL dans l'onglet Summary (Récapitulatif), puis cliquez sur Reveal in Network panel (Afficher dans le panneau "Network"). DevTools vous redirige vers le panneau Network (Réseau) et sélectionne la requête correspondante. Ouvrez l'onglet Timing (Calendrier).

Onglet "Timing" d'une requête dans le panneau "Network".

Voici comment ces deux répartitions se correspondent:

  • La ligne de gauche (|–) correspond à tout ce qui se trouve jusqu'au groupe d'événements Connection start, y compris. En d'autres termes, il s'agit de tout ce qui précède Request Sent.
  • La partie claire de la barre est Request sent et Waiting for server response.
  • La partie sombre de la barre est Content download.
  • La ligne de droite (–|) correspond au temps d'attente du thread principal. L'onglet Réseau > Temps ne l'affiche pas.

Afficher les métriques de mémoire

Activez la case Mémoire pour afficher les métriques de mémoire du dernier enregistrement.

Case à cocher "Mémoire".

DevTools affiche un nouveau graphique Mémoire au-dessus de l'onglet Résumé. Un nouveau graphique, appelé HEAP, s'affiche également sous le graphique NET. Le graphique HEAP fournit les mêmes informations que la ligne JS Heap du graphique Mémoire.

Métriques de mémoire.

Cet exemple affiche les métriques de mémoire au-dessus de l'onglet Récapitulatif.

Les lignes colorées du graphique correspondent aux cases à cocher colorées au-dessus du graphique. Désactivez une case à cocher pour masquer cette catégorie dans le graphique.

Le graphique n'affiche que la région de l'enregistrement sélectionnée. Dans l'exemple précédent, le graphique Mémoire n'affiche que l'utilisation de la mémoire au début de l'enregistrement, jusqu'à environ 1 000 ms.

Afficher la durée d'une partie d'un enregistrement

Lorsque vous analysez une section telle que Network (Réseau) ou Main (Principal), vous avez parfois besoin d'une estimation plus précise de la durée de certains événements. Maintenez la touche Maj enfoncée, cliquez de manière prolongée, puis faites glisser le pointeur de la souris vers la gauche ou la droite pour sélectionner une partie de l'enregistrement. En bas de votre sélection, les outils de développement indiquent la durée de cette partie.

Afficher la durée d'une partie d'un enregistrement

Dans cet exemple, le code temporel 488.53ms en bas de la partie sélectionnée indique la durée de cette partie.

Afficher une capture d'écran

Pour savoir comment activer les captures d'écran, consultez Faire des captures d'écran pendant l'enregistrement.

Pointez sur l'aperçu de la chronologie pour afficher une capture d'écran de l'état de la page à ce moment de l'enregistrement. La section Vue d'ensemble de la chronologie contient les graphiques CPU, FPS et NET.

Affichage d'une capture d'écran.

Vous pouvez également afficher des captures d'écran en cliquant sur un cadre dans la section Cadres. DevTools affiche une petite version de la capture d'écran dans l'onglet Summary (Récapitulatif).

Affichage d'une capture d'écran dans l'onglet "Résumé".

Cet exemple montre la capture d'écran de la trame 195.5ms dans l'onglet Récapitulatif lorsque vous cliquez dessus dans la section Frames (Cadres).

Cliquez sur la vignette dans l'onglet Récapitulatif pour faire un zoom avant sur la capture d'écran.

Faire un zoom avant sur une capture d'écran depuis l'onglet "Résumé"

Cet exemple montre une capture d'écran agrandie après avoir cliqué sur sa miniature dans l'onglet Récapitulatif.

Afficher les informations sur les calques

Pour afficher des informations avancées sur les calques d'un frame:

  1. Activez l'instrumentation de peinture avancée.
  2. Sélectionnez un cadre dans la section Cadres. DevTools affiche des informations sur ses calques dans le nouvel onglet Calques, à côté de l'onglet Journal des événements.

Onglet "Calques".

Pointez sur une couche pour la mettre en surbrillance dans le diagramme.

Mettre en surbrillance un calque

Cet exemple montre la couche 39 mise en surbrillance lorsque vous pointez dessus.

Pour déplacer le diagramme:

  • Cliquez sur Mode panoramique Mode panoramique. pour vous déplacer le long des axes X et Y.
  • Cliquez sur Mode Rotation Mode rotation. pour effectuer une rotation sur l'axe Z.
  • Cliquez sur Réinitialiser la transformation Réinitialisez la transformation. pour rétablir le diagramme à sa position d'origine.

Découvrez l'analyse des calques en action:

Afficher le profileur de peinture

Pour afficher des informations avancées sur un événement de peinture:

  1. Activez l'instrumentation de peinture avancée.
  2. Sélectionnez un événement Paint dans la piste Principale.

Onglet "Profileur de peinture".

Analyser les performances de rendu avec l'onglet "Rendu"

Utilisez les fonctionnalités de l'onglet Rendering (Affichage) pour visualiser les performances d'affichage de votre page.

Ouvrez l'onglet Rendu.

Afficher les images par seconde en temps réel avec le compteur de FPS

Les statistiques de rendu des frames sont une superposition qui s'affiche en haut à droite de votre vue. Il fournit une estimation en temps réel des FPS pendant l'exécution de la page.

Consultez la section Statistiques de rendu d'image.

Afficher les événements de peinture en temps réel avec la fonctionnalité de clignotement de la peinture

Utilisez Flashing de peinture pour obtenir une vue en temps réel de tous les événements de peinture sur la page.

Voir Flashing de la peinture.

Afficher une superposition de calques avec les bordures de calque

Utilisez Bordures de calque pour afficher une superposition des bordures et des tuiles de calque au-dessus de la page.

Consultez Bordures de calque.

Détecter en temps réel les problèmes de performances du défilement

Utilisez Problèmes de performances de défilement pour identifier les éléments de la page qui comportent des écouteurs d'événements liés au défilement susceptibles de nuire aux performances de la page. Les outils de développement soulignent les éléments potentiellement problématiques en vert clair.

Consultez Problèmes de performances du défilement.