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 incluye herramientas de profiling integradas con el motor y el pipeline de build. Ayudan a encontrar problemas de rendimiento, memoria y uso de recursos. Los datos de profiling en runtime pueden utilizarse mediante varias funciones:
El ajuste Profiler del manifiesto de la aplicación controla si el código del profiler se enlaza con una build. Debug Only es el valor predeterminado, None lo excluye y Always lo incluye tanto en builds debug como release. Los ajustes de profiler en game.project controlan el comportamiento en runtime, pero no vuelven a enlazar con la build código de profiler que se haya excluido. En particular, Track CPU controla el muestreo de uso de CPU; es independiente de la opción del manifiesto de la aplicación.
Las builds que incluyen soporte para el profiler disponen de un profiler visual en runtime que muestra información en vivo superpuesta sobre la aplicación en ejecución:
function on_reload(self)
-- Activa o desactiva el profiler visual al hacer hot reload.
profiler.enable_ui(true)
end

El profiler visual proporciona varias funciones diferentes que se pueden usar para cambiar cómo presenta sus datos:
profiler.set_ui_mode()
profiler.set_ui_view_mode()
profiler.view_recorded_frame()
Consulta la referencia de la API del profiler para obtener más información sobre las funciones del profiler.
Mientras se ejecuta una build de escritorio o móvil que incluya soporte para el profiler, se puede acceder desde un navegador a profilers interactivos de frames y recursos.
El Frame profiler te permite muestrear tu juego mientras se ejecuta y analizar frames individuales en detalle. Para acceder al profiler:
El frame profiler está dividido en varias secciones que ofrecen distintas vistas del juego en ejecución. Pulsa el botón Pause en la esquina superior derecha para detener temporalmente la actualización de las vistas del profiler.

Cuando usas varios objetivos simultáneamente, puedes cambiar manualmente entre ellos modificando el campo Connection Address en la parte superior de la página para que coincida con la URL del profiler Remotery que se muestra en la consola cuando se inició el objetivo:
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



El valor LuaMem es la cantidad de memoria en kilobytes usada por la VM de Lua según lo informado por el recolector de basura de Lua. Memory es la cantidad de memoria en kilobytes usada por el motor.
El ajuste Max Sample Count limita el número de muestras del profiler registradas por thread y por frame. Si el profiler indica que se ha superado el límite, comprueba primero que el código de profiling de las extensiones nativas no tenga un par de inicio/fin de scope sin correspondencia. Aumenta el límite solo cuando un frame legítimo contenga más scopes que el límite configurado.
El Resource profiler te permite inspeccionar tu juego mientras se ejecuta y analizar el uso de recursos en detalle. Para acceder al profiler:
El resource profiler está dividido en 2 secciones: una muestra una vista jerárquica de las colecciones, objetos de juego y componentes instanciados actualmente en tu juego, y la otra muestra todos los recursos cargados actualmente.

HTML5 usa la API Web Performance en lugar de Remotery para su línea de tiempo del navegador. Para registrar los scopes de Defold:
profiler.performance_timeline_enabled) en game.project.Esta línea de tiempo del navegador es independiente tanto del profiler visual dentro del juego como del profiler web interactivo Remotery.
Al crear un bundle de tu juego hay una opción para crear un reporte de build. Esto es muy útil para entender el tamaño de todos los assets que forman parte del bundle de tu juego. Simplemente marca la casilla Generate build report al crear el bundle del juego.

El builder producirá un archivo llamado “report.html” junto al bundle del juego. Abre el archivo en un navegador web para inspeccionar el reporte:

Overview ofrece un desglose visual general del tamaño del proyecto basado en el tipo de recurso.
Resources muestra una lista detallada de recursos que puedes ordenar por tamaño, relación de compresión, cifrado, tipo y nombre de directorio. Usa el campo “search” para filtrar las entradas de recursos mostradas.
La sección Structure muestra tamaños según cómo están organizados los recursos en la estructura de archivos del proyecto. Las entradas están codificadas por color desde verde (ligero) hasta azul (pesado), de acuerdo con el tamaño relativo del contenido de archivos y directorios.
Además de las herramientas integradas, hay una amplia variedad de herramientas gratuitas de tracing y profiling de alta calidad disponibles. Esta es una selección:
Ten en cuenta que los profilers de Lua puro añaden bastante sobrecarga con cada hook que instalan. Por este motivo, debes tener cierta cautela con los perfiles de tiempos que obtengas de una herramienta así. Los perfiles de conteo sí son suficientemente precisos.

Esta herramienta te permite inspeccionar una aplicación Defold en ejecución y ver cómo usa OpenGL. Te permite hacer trazas de llamadas a funciones de OpenGL, definir breakpoints en funciones de OpenGL, investigar recursos de la aplicación (texturas, programas, shaders, etc.), revisar contenidos de buffers y comprobar otros aspectos del estado de OpenGL.

Un conjunto de herramientas de profiling que captura datos en tiempo real de la actividad de CPU, memoria y red de tu juego. Puedes realizar trazado de métodos basado en muestras de la ejecución del código, capturar heap dumps, ver asignaciones de memoria e inspeccionar los detalles de los archivos transmitidos por la red. Usar la herramienta requiere que establezcas android:debuggable="true" en “AndroidManifest.xml”.

Nota: Desde Android Studio 4.1 también es posible ejecutar las herramientas de profiling sin iniciar Android Studio.
Esta es una colección de herramientas que te permite inspeccionar, ajustar y reproducir llamadas de una aplicación a un driver gráfico. Usar la herramienta requiere que establezcas android:debuggable="true" en “AndroidManifest.xml”.
