Tout ce que vous devez savoir sur Memory Profiler 1.0.0

AGNESE CAGLIO / UNITY TECHNOLOGIESSenior Product Designer
Jan 30, 2023|10 Min
Tout ce que vous devez savoir sur Memory Profiler 1.0.0
Cette page a été traduite automatiquement pour faciliter votre expérience. Nous ne pouvons pas garantir l'exactitude ou la fiabilité du contenu traduit. Si vous avez des doutes quant à la qualité de cette traduction, reportez-vous à la version anglaise de la page web.

Le nouveau Memory Profiler - version 1.0.0 - apporte des améliorations à la suite de profilage qui offrent une vue plus complète de l'utilisation de la mémoire et permettent d'optimiser plus facilement et plus rapidement les performances ou de détecter les problèmes de mémoire.

L'équipe du profileur est très heureuse d'annoncer que, depuis septembre 2022, le paquet Memory Profiler est passé d'Experimental à Verified et est maintenant accessible à tous en utilisant le Tech Stream d'Unity 2022.2.

Memory Profiler : Une vue d'ensemble

L'optimisation de la mémoire est cruciale pour les applications qui fonctionnent sur des appareils aux capacités limitées, afin d'éviter qu'elles ne tombent en panne de mémoire. En outre, si vous prévoyez de diffuser votre contenu sur plusieurs appareils, il se peut que votre empreinte mémoire ait besoin d'être affinée pour que vous puissiez tirer le meilleur parti de chaque plate-forme.

Le Memory Profiler est un outil qui vous aide à relever ces défis en vous permettant de prendre un instantané de votre jeu et d'examiner son utilisation de la mémoire à un moment précis.

En prenant un "instantané" de votre jeu, vous pouvez voir ce qui occupe la majeure partie de sa mémoire ou identifier les problèmes susceptibles de faire planter les applications.

Remarque : Bien que les fonctionnalités complètes de Memory Profiler et le suivi de la mémoire ne soient disponibles qu'à partir de la version 2022.2, vous pouvez profiter de la nouvelle interface utilisateur (UI) pour inspecter des captures plus anciennes en ouvrant Memory Profiler dans un projet 2022+ vide et en important des instantanés plus anciens.

Comment il en est arrivé là

Memory Profiler a été publié à l'origine en tant que paquet expérimental il y a quelques années, mais cette version comprend une révision majeure de l'interface utilisateur et de l'expérience utilisateur (UX) afin de le rendre plus rapide et plus facile à utiliser.

Le paquet expérimental d'origine a été utilisé par certains utilisateurs précoces et a permis dans de nombreux cas d'identifier des problèmes de mémoire. Cependant, dans sa première version, il était peu maniable, lent et nécessitait les connaissances d'un expert.

Lorsque nous avons commencé à travailler sur une nouvelle version du paquet, nous avions les intentions suivantes à l'esprit :

  • Simplifier les flux de travail les plus courants et les plus importants, afin d'identifier et de résoudre les problèmes plus rapidement.
  • Fournir des informations plus complètes et plus fiables pour faciliter la comparaison de l'utilisation de la mémoire d'un appareil à l'autre (en utilisant également des profileurs spécifiques aux plates-formes).
  • Présenter les informations de manière plus accessible, de sorte que les utilisateurs qui n'ont pas de connaissances approfondies de la mémoire puissent tout de même optimiser efficacement les applications.

Pour y parvenir, nous avons travaillé en étroite collaboration avec les premiers utilisateurs du paquet expérimental afin de comprendre leurs besoins et leurs points faibles, et nous avons itéré plusieurs fois sur le design pour nous assurer qu'il offre la meilleure interface utilisateur possible.

Grâce à leur contribution, notre équipe a pu rationaliser et simplifier considérablement l'outil, en réduisant le jargon et en facilitant l'inspection des objets, des détails et des dépendances directement dans l'outil.

Ce qu'il y a à l'intérieur

Memory Profiler se compose de trois sections principales qui mettent en évidence sa nouvelle interface utilisateur améliorée, que nous allons détailler ici :

  • Liste d'instantanés
  • Une section principale, elle-même divisée en trois vues de flux de travail (Résumé, Objets d'unité et Toute la mémoire).
  • Détails de la sélection
Liste d'instantanés

La liste des instantanés est la zone où vous pouvez capturer et voir les instantanés que vous avez pris dans votre jeu, ainsi que des informations de haut niveau sur l'utilisation de la mémoire et la date de capture. Ici, vous pouvez capturer des instantanés soit à l'aide du bouton "Capturer" dans la barre d'outils, soit - si aucun instantané n'est disponible - à l'aide du bouton "Instantané" dans la section principale.

Vous pouvez également voir si l'utilisation de la mémoire varie d'un instant à l'autre et vous faire une idée de l'amélioration ou non des performances du projet.

Enfin, vous pouvez également utiliser la liste des instantanés pour déterminer si vous souhaitez consulter des instantanés individuels ou des instantanés comparés (pour plus d'informations, voir ci-dessous).

Liste d'instantanés
La section principale

Il s'agit de la zone centrale de Memory Profiler, divisée en trois vues de flux de travail : Résumé, Unity Objects et All of Memory. Chacune de ces vues est accessible à partir des onglets situés en haut de la section principale.

La vue Résumé est la vue par défaut qui s'ouvre lorsque vous chargez ou capturez un instantané. Il fournit des informations sur la quantité de mémoire que vous utilisez, la quantité de mémoire "résidente" sur l'appareil et la quantité de mémoire engagée mais qui n'est pas encore sur l'appareil. Il fournit également des informations sur la répartition de la mémoire entre les catégories, afin de simplifier le choix du point de départ de l'enquête.

Enfin, la vue Résumé fournit des points d'entrée pour une analyse plus détaillée, telle que "Top Unity Objects in Memory" ou "Managed memory breakdown".

Section principale - Vue d'ensemble

C'est dans la vue Unity Objects que vous passerez le plus de temps. Il répertorie tous les principaux types d'objets chargés en mémoire, tels que les textures, les shaders, les polices de caractères, etc. En général, c'est là que vous pouvez identifier les objets qui sont trop gros, qui n'ont pas besoin d'être là parce qu'ils ont été chargés par erreur, ou qui ont été gardés en mémoire par une référence suspendue.

Section principale - Vue des objets Unity

La vue "Toute la mémoire" vous permet de voir toute la mémoire, divisée par catégorie - Native, Gérée, Graphique ou Exécutables. Vous pouvez consulter les données capturées par le Memory Profiler et étudier des aspects plus spécifiques pour voir ce qui compose la mémoire de votre projet.

Section principale - Vue de l'ensemble de la mémoire
Détails de la sélection

Les détails de la sélection offrent plus d'informations sur les éléments sélectionnés dans la section principale, y compris des descriptions des différentes catégories de mémoire et des références potentielles ou des détails sur les objets sélectionnés.

Cette section fournit davantage d'informations pour vous aider à comprendre ce que vous regardez et à déterminer plus facilement la raison de sa présence en mémoire. De plus, si le projet est ouvert dans l'éditeur, vous aurez la possibilité de "pinger" les objets et d'inspecter les actifs directement dans la fenêtre de la scène ou du projet.

 Vue détaillée de la sélection
Comparaison des instantanés

Chacune des vues décrites ci-dessus est disponible pour inspecter des instantanés individuels ou pour les comparer.

Si vous souhaitez comparer un instantané, vous pouvez sélectionner "Comparer" dans la liste des instantanés, puis sélectionner un deuxième instantané dans votre liste. Le fait de se trouver dans l'onglet de comparaison de la liste d'instantanés fait automatiquement passer toutes les vues en mode de comparaison.

En mode Comparaison, la vue Résumé fournit la répartition de la mémoire des deux captures, côte à côte, afin que vous puissiez voir les principales différences d'utilisation de la mémoire entre les instantanés (qui seront nommés "A" et "B").

Vue du mode de comparaison

Dans les vues Objets Unity et Toute la mémoire, une nouvelle interface utilisateur dédiée vous permet de voir comment les différentes catégories de mémoire ont changé en taille ou en quantité d'objets qu'elles contiennent.

Si vous sélectionnez une catégorie dans le tableau du haut, vous pourrez examiner les différences individuelles pour les instantanés A et B dans les tableaux ci-dessous.

Vues Unity Objects et All of Memory en mode Comparaison

Si vous souhaitez revenir à l'inspection d'un seul instantané, vous pouvez sélectionner à nouveau "Unique" dans la liste des instantanés. Le second instantané restera chargé de manière latente afin que vous puissiez passer rapidement de l'un à l'autre, si nécessaire.

Comprendre la mémoire dans Unity et comment l'optimiser

Dans les mois à venir, nous espérons vous fournir d'autres ressources et informations sur la manière d'optimiser efficacement la mémoire. Restez à l'écoute pour d'autres articles de blog couvrant la façon d'identifier les problèmes courants de mémoire, ainsi qu'une plongée en profondeur dans le fonctionnement de la mémoire dans Unity.

Pour des ressources plus générales sur la manière d'optimiser les performances des applications, nous vous recommandons les sites suivants :

Prochaines étapes

Cette refonte du Memory Profiler intègre les commentaires de nombreux utilisateurs de la version expérimentale de ce logiciel. Bien que cette version apporte des améliorations majeures en termes de fiabilité et de facilité d'utilisation de cet outil, notre travail est loin d'être terminé.

Nous nous efforçons également de mieux comprendre les flux de travail liés à la réduction de la fragmentation, afin de pouvoir vous aider dans ce domaine à l'avenir. Dans le même temps, nous recueillons des commentaires sur les questions d'utilisabilité et d'interface utilisateur qui sont encore ouvertes et doivent être améliorées.

Si vous avez des commentaires ou des suggestions, nous vous invitons à les partager sur notre page de feuille de route, où vous pouvez voter pour les fonctionnalités existantes en cours de réalisation ou en suggérer de nouvelles. Vous pouvez également poser des questions dans les forums.

Nous surveillons constamment les deux canaux et nous sommes impatients de travailler ensemble pour améliorer les performances et les outils d'Unity.

Installer le paquet Memory Profiler 1.0.0 ou en savoir plus.