Outils de profilage et de débogage
Chaque créateur de jeux sait que des performances fluides sont essentielles pour créer des expériences de jeu immersives – et pour y parvenir, vous devez profiler votre jeu.
Obtenez un aperçu des outils de profilage et de débogage disponibles avec Unity et de ceux disponibles pour les plateformes cibles.
Les informations présentées ici sont extraites du livre électronique, Guide ultime pour profiler les jeux Unity, disponible en téléchargement gratuit. Le livre électronique a été créé par des experts Unity externes et internes en développement, profilage et optimisation de jeux.
Le profilage est comme un travail de détective, révélant les mystères des raisons pour lesquelles les performances de votre application sont à la traîne ou pourquoi le code alloue un excès de mémoire. Les meilleurs gains du profilage sont obtenus lorsque vous planifiez dès le début du cycle de vie de développement de votre projet. Il s'agit d'un processus proactif et itératif continu. En effectuant un profilage précoce et fréquent, plutôt que juste avant la sortie de votre jeu, vous et votre équipe pouvez comprendre et établir une « signature de performance » pour le projet. Si les performances chutent, par exemple, vous serez en mesure de repérer facilement quand les choses tournent mal et de remédier rapidement au problème.
Les résultats de profilage les plus précis proviennent de l'exécution et du profilage des builds sur les appareils cibles, ainsi que de l'utilisation d'outils spécifiques à la plate-forme pour explorer les caractéristiques matérielles de chaque plate-forme ciblée.
Unity propose une gamme d'outils de profilage gratuits et performants pour l'analyse et l'optimisation de votre code, à la fois dans l'éditeur et sur votre équipement. Il existe également plusieurs excellents outils de profilage natifs conçus pour chaque plate-forme cible, tels que ceux disponibles auprès d'Arm, Apple, Sony et Microsoft. L’utilisation d’une combinaison des deux offre une vue plus globale des performances des applications sur tous les appareils cibles.
Les outils de profilage de Unity sont disponibles dans l'éditeur et le gestionnaire de packages. Chaque outil est spécialisé dans le profilage de différentes parties de votre projet :
- Unity Profiler vous aide à mesurer les performances du projet et à identifier les processus susceptibles de poser des problèmes. Le Profiler rassemble et affiche des données, telles que la quantité de temps CPU utilisée pour différentes tâches, de l'audio et de la physique au rendu et à l'animation. Il mesure les performances de Unity Editor, de votre application en mode Lecture, et se connecte à l'appareil exécutant votre application en mode Développement. Utilisez cet outil essentiel pour commencer le profilage. Consultez ce cours sur le profilage pour commencer.
- Le Memory Profiler fournit une analyse approfondie des performances de la mémoire. Réduire l'utilisation de la mémoire vous aidera à réduire les plantages, à réduire le temps de chargement et à rendre votre projet compatible avec les appareils plus anciens. Le Memory Profiler est actuellement en préversion mais devrait être vérifié dans Unity 2022 LTS.
- L' analyseur de profil regroupe et visualise les données de trame et de marqueur d'un ensemble de trames Unity Profiler pour vous aider à examiner leur comportement sur de nombreuses trames. (Cela complète l'analyse d'image unique déjà disponible dans Unity Profiler.) Il vous permet également de comparer deux ensembles de données de profilage pour déterminer l'impact de vos modifications sur les performances de l'application.
- Le Frame Debugger vous permet de mettre en pause un jeu en cours sur une image en particulier, afin de visualiser les requêtes individuelles utilisées pour le rendu de cette même image. En plus de lister les appels draw, le débogueur vous permet de les parcourir un par un, afin que vous puissiez voir comment la scène est construite à partir de ses éléments graphiques.
- Le package Profiling Core fournit des API pour ajouter des informations contextuelles aux captures Unity Profiler.
Android / Bras
- AndroidStudio : Le dernier Android Studio inclut un nouveau profileur Android qui remplace les outils Android Monitor précédents. Utilisez-le pour collecter des données en temps réel sur les ressources matérielles des appareils Android.
- Bras Studio Mobile: Une suite d'outils pour vous aider à profiler et à déboguer vos jeux de manière très détaillée, adaptée aux appareils exécutant du matériel Arm.
- Profileur Snapdragon : Spécifiquement pour les appareils à chipset Snapdragon uniquement. Analysez les données du CPU, du GPU, du DSP, de la mémoire, de l'alimentation, de la température et du réseau pour identifier et résoudre les goulots d'étranglement des performances.
Intel
- Intel VTune : Trouvez et corrigez rapidement les goulots d'étranglement des performances sur les plates-formes Intel grâce à cette suite d'outils. Pour les processeurs Intel uniquement.
- Suite Intel GPA : Une suite d'outils graphiques pour vous aider à améliorer les performances de votre jeu en identifiant rapidement les zones problématiques.
Xbox/Windows
- PIX : PIX est un outil d'optimisation des performances et de débogage destiné aux développeurs de jeux Windows et Xbox utilisant DirectX 12. Il comprend des outils permettant de comprendre et d'analyser les performances du CPU et du GPU ainsi que de surveiller divers compteurs de performances en temps réel. Pour plus d'informations sur l'utilisation de PIX pour le développement de jeux Xbox, inscrivez-vous en tant que développeur Xbox.
PC / Universal
- AMD µProf : AMD uProf est un outil d'analyse des performances permettant de comprendre et de profiler les performances des applications exécutées sur du matériel AMD.
- NVIDIA NSight : Des outils qui permettent aux développeurs de créer, déboguer, profiler et développer des logiciels de pointe et de pointe à l'aide du dernier matériel informatique visuel de NVIDIA.
- Superluminal: Superluminal est un profileur haute performance et haute fréquence qui prend en charge les applications de profilage sur Windows, Xbox One et PlayStation écrites en C++, Rust et .NET. Il s’agit cependant d’un produit payant et il faut disposer d’une licence pour pouvoir l’utiliser.
PlayStation
- Des outils de profilage de processeur sont disponibles pour le matériel PlayStation. Pour plus de détails, vous devez être un développeur PlayStation® enregistré.
iOS
- Xcode Instruments et le débogueur Xcode Frame : Instruments est un outil d'analyse et de test des performances puissant et flexible qui fait partie de l'ensemble d'outils Xcode.
WebGL
- Profileur Firefox: Explorez les piles d'appels et affichez les graphiques de flamme pour les builds Unity WebGL (entre autres) avec Firefox Profiler. Il propose également un outil de comparaison pour examiner côte à côte les captures de profilage.
- Performances des outils de développement Chrome : Un autre outil de navigateur Web qui peut être utilisé pour profiler les versions Unity WebGL.
Tandis que l'outil Unity Frame Debugger capture et illustre les appels de dessin envoyés depuis le processeur, les outils suivants peuvent vous aider à montrer ce que fait le GPU lorsqu'il reçoit ces commandes.
Certains sont spécifiques à la plateforme et offrent une intégration plus étroite de la plateforme. Jetez un œil aux outils pertinents pour les plateformes qui vous intéressent :
- Analyseur graphique Arm : Fait partie de la suite logicielle Arm's Mobile Studio
- RenderDoc : Débogueur GPU pour plates-formes de bureau et mobiles
- Intel GPA : Profilage graphique pour les plates-formes Intel
- Outils de débogage Apple Frame Capture : Débogage GPU pour les plateformes Apple
- Diagnostics graphiques Visual Studio : Choisissez ceci et/ou PIX pour les plates-formes basées sur DirectX telles que Windows ou Xbox
- Débogueur de trame NVIDIA Nsight : Débogueur de trame basé sur OpenGL pour les GPU NVIDIA
- Suite d'outils de développement AMD Radeon : Profileur GPU pour les GPU AMD
- Débogueur de frame Xcode : Pour iOS et macOS
Téléchargez gratuitement l'e-book, Guide ultime pour profiler les jeux Unity, pour obtenir tous les conseils et bonnes pratiques.