Que recherchez-vous ?
Hero background image

Outils de profilage et de débogage

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.

Une performance fluide est essentielle pour créer de grandes expériences de jeu qui atteignent un large éventail d'appareils et de joueurs. Unity fournit un ensemble complet d'outils de profilage et de gestion de la mémoire que les développeurs Unity peuvent utiliser en parallèle des outils de profilage natifs disponibles pour leurs plateformes cibles.

Dans cet article, nous vous proposons un aperçu des outils de profilage et de débogage disponibles avec Unity et ceux disponibles pour les plateformes cibles.

Les informations ici sont extraites de l'e-book, Guide ultime du profilage des jeux Unity (édition Unity 6), disponible en téléchargement gratuit. L'e-book a été créé par des experts Unity externes et internes en développement de jeux, profilage et optimisation.

Utilisez à la fois les outils Unity et des outils natifs pour obtenir les meilleurs résultats

Un code léger et performant et une utilisation optimisée de la mémoire conduisent à une meilleure expérience utilisateur sur les appareils bas de gamme et haut de gamme. Cela s'applique à tout, de la capacité à atteindre plus d'utilisateurs sur les appareils bas de gamme en s'attaquant à la chaleur et à la consommation de batterie, au confort de vos joueurs, et finalement, aux facteurs qui favorisent une adoption et une rétention plus élevées. Cela peut également être une exigence pour passer les spécifications de la plateforme de distribution. Le profilage est comme un travail de détective, déchiffrant les mystères de pourquoi la performance de votre application est en retard, ou pourquoi le code alloue une mémoire excessive.

Les meilleurs gains du profilage sont réalisés lorsque vous planifiez tôt dans le cycle de développement de votre projet. C'est un processus proactif et itératif continu. En profilant tôt et souvent, plutôt que juste avant de livrer votre jeu, vous et votre équipe pouvez comprendre et établir une "signature de performance" pour le projet. Si la performance chute, par exemple, vous pourrez facilement repérer quand les choses tournent mal et rapidement remédier au problème.

Les résultats de profilage les plus précis proviennent de l'exécution et du profilage des builds sur des appareils cibles, ainsi que de l'utilisation d'outils spécifiques à la plateforme pour examiner les caractéristiques matérielles de chaque plateforme 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 plateforme cible, tels que ceux disponibles auprès des principaux propriétaires de plateformes. Utiliser une combinaison des deux fournit une vue plus holistique de la performance de l'application sur tous les appareils cibles.

Le module Highlights dans le Profiler Unity
Le module Highlights dans le Profiler facilite la compréhension de la performance de votre jeu par rapport au temps de trame cible défini. Dans cet exemple, un grand travail d'optimisation est nécessaire à la fois sur le CPU et le GPU pour atteindre les 60 fps cibles.

Outils de profilage Unity

Les outils de profilage de Unity sont disponibles dans l'Éditeur et via le Gestionnaire de paquets. Ces outils, ainsi que le Débogueur de trames de Unity, sont couverts plus en détail dans l'e-book Guide ultime pour le profilage des jeux Unity (édition Unity 6).

- Le Profileur Unity mesure la performance de l'Éditeur Unity et de votre application en mode Play ou en mode développement tout en étant connecté à un appareil.

- Le package Profilage Core fournit des API que vous pouvez utiliser pour ajouter des informations contextuelles aux captures du Profileur Unity.

- Le Profileur de mémoire fournit une analyse approfondie de la quantité de mémoire utilisée par votre jeu et des objets qui l'utilisent.

- L'Analyseur de profil vous permet de comparer deux ensembles de données de profilage côte à côte pour analyser comment vos modifications affectent la performance de votre application.

- L'Auditeur de projet rapporte des informations et des problèmes concernant les scripts, les actifs et le code de votre projet, dont beaucoup sont liés à la performance.

Unity propose également plusieurs outils de débogage qui complètent sa suite d'outils de profilage. Le panneau Statistiques d'affichage du Débogueur de rendu, par exemple, vous permet de voir un ensemble limité de chiffres de performance et de marqueurs (CPU + GPU) sur les versions de développement sans avoir l'Éditeur connecté.

Le Débogueur de trames dans Unity
Utilisez le Débogueur de trames pour analyser comment le surdessin identifié se produit.

Outils de profilage natifs

Android / Arm

- Android Studio : Le dernier Android Studio inclut un nouveau Profileur Android qui remplace les précédents outils Android Monitor. Utilisez-le pour recueillir des données en temps réel sur les ressources matérielles des appareils Android.

- Arm Performance Studio : Une suite d'outils pour vous aider à profiler et déboguer vos jeux en détail, adaptée aux appareils fonctionnant sur du matériel Arm.

- Profileur Snapdragon : Spécifiquement pour les appareils à chipset Snapdragon uniquement. Analysez les données CPU, GPU, DSP, mémoire, puissance, thermique et réseau pour aider à trouver et corriger les goulets d'étranglement de performance.

Intel

- Intel VTune : Trouvez rapidement et corrigez les goulets d'étranglement de performance sur les plateformes Intel avec cette suite d'outils. Pour les processeurs Intel uniquement.

- Intel GPA suite : Une suite d'outils axés sur les graphiques pour vous aider à améliorer les performances de votre jeu en identifiant rapidement les zones problématiques.

Xbox / PC
- PIX : PIX est un outil d'optimisation des performances et de débogage pour les développeurs de jeux Windows et Xbox utilisant DirectX 12. Il comprend des outils pour comprendre et analyser les performances du CPU et du GPU ainsi que pour surveiller divers compteurs de performance en temps réel.

PC / Universel

- AMD μProf : AMD uProf est un outil d'analyse de performance pour comprendre et profiler les performances des applications s'exécutant 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 en utilisant le dernier matériel de calcul visuel de NVIDIA.

- Samply : Samply est un profileur CPU en ligne de commande open source qui utilise le profileur Firefox comme interface utilisateur. Il fonctionne sur macOS, Linux et Windows.

- Superluminal : Superluminal est un profileur haute performance et haute fréquence qui prend en charge le profilage d'applications sur Windows, Xbox One et PlayStation écrites en C++, Rust et .NET. C'est un produit payant, cependant, et doit être licencié pour être utilisé. Consultez notre article de discussions pour une introduction rapide sur la façon de commencer.

PlayStation

- Des outils de profilage CPU sont disponibles pour le matériel PlayStation. Pour plus de détails, vous devez être un développeur PlayStation® enregistré, commencez ici.

iOS

- Xcode Instruments et le Débogueur de Cadres XCode : Instruments est un outil d'analyse de performance et de test puissant et flexible qui fait partie de l'ensemble d'outils Xcode.

WebGL

- Firefox Profiler : Explorez les piles d'appels et visualisez les graphiques de flamme pour les builds Unity WebGL (entre autres) avec le Profiler Firefox. Il dispose également d'un outil de comparaison pour examiner les captures de profilage côte à côte.

- Chrome DevTools Performance : Un autre outil de navigateur web qui peut être utilisé pour profiler les builds Unity WebGL.

L'Analyseur de Performance Streamline d'Arm
Le Streamlime Performance Analyzer de Arm propose de nombreuses informations de compteur de performance qui peuvent être collectées au cours de sessions de profilage sur des appareils Arm ciblés. C'est excellent pour identifier les problèmes de performance tels que la saturation de la bande passante mémoire résultant d'un trop grand nombre de dessins.

Outils de débogage et de profilage GPU

Alors que l'outil de débogage de cadre Unity capture et illustre les appels de dessin envoyés par le CPU, les outils suivants peuvent vous aider à montrer ce que le GPU fait lorsqu'il reçoit ces commandes.

Certains sont spécifiques à la plateforme et offrent une intégration plus étroite avec la plateforme. Jetez un œil aux outils pertinents pour les plateformes d'intérêt :

- Arm Streamline : Faisant partie de la suite logicielle Performance Studio d'Arm, se concentrant sur la mesure de performance à faible surcharge du CPU et du GPU.

- Arm Frame Advisor : Faisant partie de la suite logicielle Performance Studio d'Arm, se concentrant sur le profilage API basé sur les images.

- RenderDoc : Débogueur GPU pour les plateformes de bureau et mobiles, axé sur le débogage d'API basé sur les frames.

- Intel GPA : Profilage graphique pour les plateformes basées sur Intel

- Outils de débogage de capture de frames Apple : Débogage GPU pour les plateformes Apple

- Visual Studio Graphics Diagnostics : Choisissez ceci et/ou PIX pour les plateformes basées sur DirectX telles que Windows ou Xbox

- NVIDIA Nsight Frame Debugger : Débogueur de frames basé sur OpenGL pour les GPU NVIDIA

- AMD Radeon Developer Tool Suite : Profilage GPU pour les GPU AMD

- Débogueur de frames Xcode : Pour iOS et macOS.

E-books Unity
Plus de conseils pour Unity 6

Vous pouvez trouver de nombreuses autres bonnes pratiques et conseils pour les développeurs et créateurs Unity avancés dans le hub des bonnes pratiques Unity. Choisissez parmi plus de 30 guides, créés par des experts de l'industrie, ainsi que des ingénieurs et artistes techniques Unity, qui vous aideront à développer efficacement avec les outils et systèmes de Unity.

Profilage et débogage avec Unity et les outils de la plateforme native | Unity