This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
Defold comprend des outils de profilage intégrés au moteur et à la chaîne de build. Ils aident à détecter les problèmes de performances, de mémoire et d’utilisation des ressources. Plusieurs outils peuvent exploiter les données de profilage recueillies à l’exécution :
Le paramètre Profiler de l’App Manifest détermine si le code du profileur est lié au build. Debug Only est la valeur par défaut, None l’exclut et Always l’inclut dans les builds de débogage comme dans ceux de publication. Les paramètres profiler de game.project contrôlent le comportement à l’exécution, mais ne réintègrent pas dans un build le code du profileur qui en a été exclu. En particulier, Track CPU contrôle l’échantillonnage de l’utilisation du CPU ; ce paramètre est indépendant du choix effectué dans l’App Manifest.
Les builds qui incluent la prise en charge du profileur disposent d’un profileur visuel qui affiche des informations en temps réel, en surimpression sur l’application en cours d’exécution :
function on_reload(self)
-- Toggle the visual profiler on hot reload.
profiler.enable_ui(true)
end

Le profileur visuel fournit plusieurs fonctions permettant de modifier la manière dont il présente ses données :
profiler.set_ui_mode()
profiler.set_ui_view_mode()
profiler.view_recorded_frame()
Consultez la référence de l’API du profileur pour en savoir plus sur les fonctions du profileur.
Lorsqu’un build de bureau ou mobile incluant la prise en charge du profileur est en cours d’exécution, vous pouvez accéder aux profileurs interactifs d’images et de ressources dans un navigateur.
Le profileur d’images vous permet d’échantillonner votre jeu en cours d’exécution et d’analyser chaque image en détail. Pour accéder au profileur :
Le profileur d’images est divisé en plusieurs sections qui offrent chacune une vue différente du jeu en cours d’exécution. Appuyez sur le bouton Pause dans le coin supérieur droit pour interrompre temporairement la mise à jour des vues du profileur.

Lorsque vous utilisez plusieurs cibles simultanément, vous pouvez passer manuellement de l’une à l’autre en modifiant le champ Connection Address en haut de la page pour qu’il corresponde à l’URL du profileur Remotery affichée dans la console au démarrage de la cible :
INFO:ENGINE: Defold Engine 1.3.4 (80b1b73)
INFO:DLIB: Initialized Remotery (ws://127.0.0.1:17815/rmt)
INFO:ENGINE: Loading data from: build/default



La valeur LuaMem correspond à la quantité de mémoire, en kilo-octets, utilisée par la machine virtuelle Lua, telle qu’elle est indiquée par le ramasse-miettes de Lua. Memory correspond à la quantité de mémoire, en kilo-octets, utilisée par le moteur.
Le paramètre Max Sample Count limite le nombre d’échantillons de profilage enregistrés par thread et par image. Si le profileur signale que la limite a été dépassée, vérifiez d’abord si le code de profilage des extensions natives comporte une paire de début/fin de zone de mesure dont l’un des éléments manque. N’augmentez la limite que si une image contient légitimement plus de zones de mesure que la limite configurée.
Le profileur de ressources vous permet d’inspecter votre jeu en cours d’exécution et d’analyser en détail l’utilisation des ressources. Pour accéder au profileur :
Le profileur de ressources est divisé en deux sections : l’une affiche une vue hiérarchique des collections, des objets de jeu (game objects) et des composants actuellement instanciés dans votre jeu, et l’autre affiche toutes les ressources actuellement chargées.

HTML5 utilise l’API Web Performance à la place de Remotery pour sa chronologie dans le navigateur. Pour enregistrer les zones de mesure de Defold :
profiler.performance_timeline_enabled) dans game.project.Cette chronologie du navigateur est distincte à la fois du profileur visuel intégré au jeu et du profileur web interactif Remotery.
Lors de la création du bundle de votre jeu, une option vous permet de créer un rapport de build. Ce rapport est très utile pour connaître la taille de toutes les ressources qui font partie du bundle de votre jeu. Il suffit de cocher la case Generate build report lors de la création du bundle du jeu.

L’outil de build produit un fichier nommé report.html à côté du bundle du jeu. Ouvrez ce fichier dans un navigateur web pour examiner le rapport :

La section Overview fournit une vue d’ensemble de la répartition de la taille du projet par type de ressource.
Resources affiche une liste détaillée de ressources que vous pouvez trier par taille, taux de compression, chiffrement, type et nom de répertoire. Utilisez le champ « search » pour filtrer les entrées de ressources affichées.
La section Structure affiche les tailles en fonction de l’organisation des ressources dans l’arborescence des fichiers du projet. Les entrées sont colorées du vert (léger) au bleu (lourd) selon la taille relative du fichier et du contenu du répertoire.
En plus des outils intégrés, il existe un large choix d’outils de traçage et de profilage gratuits et de qualité. En voici une sélection :
Notez que les profileurs écrits uniquement en Lua ajoutent un surcoût assez important à chaque hook qu’ils installent. Pour cette raison, il convient d’interpréter avec prudence les mesures de temps obtenues avec un tel outil. Les mesures fondées sur le comptage sont toutefois suffisamment précises.

Cet outil vous permet d’inspecter une application Defold en cours d’exécution et de voir comment elle utilise OpenGL. Vous pouvez tracer les appels de fonctions OpenGL, définir des points d’arrêt sur les fonctions OpenGL, examiner les ressources de l’application (textures, programmes, shaders, etc.), consulter le contenu des tampons et vérifier d’autres aspects de l’état d’OpenGL.

Cet ensemble d’outils de profilage capture en temps réel les données d’utilisation du CPU, de la mémoire et du réseau de votre jeu. Vous pouvez tracer les méthodes par échantillonnage pendant l’exécution du code, capturer des vidages du tas, afficher les allocations de mémoire et inspecter les détails des fichiers transmis sur le réseau. Pour utiliser cet outil, vous devez définir android:debuggable="true" dans AndroidManifest.xml.

Remarque : depuis Android Studio 4.1, il est également possible d’exécuter les outils de profilage sans démarrer Android Studio.
Cet ensemble d’outils vous permet d’inspecter, de modifier et de rejouer les appels d’une application à un pilote graphique. Pour l’utiliser, vous devez définir android:debuggable="true" dans AndroidManifest.xml.
