Herramientas de perfilado y depuración
Todos los creadores de juegos saben que un rendimiento fluido es esencial para crear experiencias de juego envolventes y, para conseguirlo, hay que perfilar el juego.
Obtenga una visión general de las herramientas de perfilado y depuración disponibles con Unity y las disponibles para las plataformas de destino.
Esta información se ha extraído del libro electrónico Ultimate guide to profiling Unity games , que puede descargarse gratuitamente. El libro electrónico ha sido creado por expertos externos e internos de Unity en desarrollo, creación de perfiles y optimización de juegos.
La creación de perfiles es como un trabajo detectivesco, en el que se desentrañan los misterios de por qué el rendimiento de la aplicación se está ralentizando o por qué el código está asignando un exceso de memoria. Los mejores beneficios de la elaboración de perfiles se obtienen cuando se planifica en una fase temprana del ciclo de vida de desarrollo del proyecto. Es un proceso continuo, proactivo e iterativo. Mediante la creación de perfiles desde el principio y con frecuencia, en lugar de justo antes de lanzar el juego, usted y su equipo pueden comprender y establecer una "firma de rendimiento" para el proyecto. Si el rendimiento cae en picado, por ejemplo, podrá detectar fácilmente cuándo las cosas van mal y poner remedio rápidamente al problema.
Los resultados de perfilado más precisos proceden de la ejecución y perfilado de compilaciones en dispositivos de destino, así como del uso de herramientas específicas de la plataforma para profundizar en las características de hardware de cada plataforma de destino.
Unity ofrece una amplia variedad de herramientas gratis y poderosas para la generación de perfiles. Con ellas, puedes analizar y optimizar el código, tanto en el Editor como en el hardware. También existen excelentes herramientas nativas de creación de perfiles diseñadas para cada plataforma, como las que ofrecen Arm, Apple, Sony y Microsoft. El uso de una combinación de ambos proporciona una visión más holística del rendimiento de las aplicaciones en todos los dispositivos de destino.
Las herramientas de perfilado de Unity están disponibles en el Editor y en el Gestor de Paquetes. Cada herramienta se especializa en perfilar diversas partes de su proyecto:
- Unity Profiler le ayuda a medir el rendimiento del proyecto y a identificar qué procesos podrían estar causando problemas. El Profiler recopila y muestra datos, como cuánto tiempo de CPU se utiliza para distintas tareas, desde audio y física hasta renderizado y animación. Mide el rendimiento del Editor de Unity, tu aplicación en modo Play, y se conecta al dispositivo que ejecuta tu aplicación en modo Desarrollo. Utilice esta herramienta esencial para empezar a crear perfiles. Echa un vistazo a este curso sobre creación de perfiles para empezar.
- El Memory Profiler proporciona un análisis en profundidad del rendimiento de la memoria. Reducir el uso de memoria te ayudará a reducir los bloqueos, disminuir el tiempo de carga y hacer que tu proyecto sea compatible con dispositivos más antiguos. El Memory Profiler está actualmente en vista previa pero se espera que sea verificado en Unity 2022 LTS.
- El Analizador de Perfiles agrega y visualiza datos de fotogramas y marcadores de un conjunto de fotogramas de Unity Profiler para ayudarle a examinar su comportamiento a lo largo de muchos fotogramas. (Esto complementa el análisis de fotogramas individuales ya disponible en el Unity Profiler). También le permite comparar dos conjuntos de datos de perfiles para determinar cómo afectan sus cambios al rendimiento de la aplicación.
- Frame Debugger te permite detener la reproducción de un juego en ejecución en un fotograma particular, para luego ver la llamada de dibujo individual que se usó para renderizarlo. Además de listar las llamadas a dibujo, el depurador te permite recorrerlas una a una, para que puedas ver cómo se construye la escena a partir de sus elementos gráficos.
- El paquete Profiling Core proporciona APIs para añadir información contextual a las capturas de Unity Profiler.
Android / Arm
- Android Studio: La última versión de Android Studio incluye un nuevo Android Profiler que sustituye a las anteriores herramientas Android Monitor. Utilízalo para recopilar datos en tiempo real sobre los recursos de hardware de los dispositivos Android.
- Estudio móvil Arm: Un conjunto de herramientas que te ayudarán a perfilar y depurar tus juegos con gran detalle, pensadas para dispositivos con hardware Arm.
- Snapdragon Profiler: Específicamente sólo para dispositivos con chipset Snapdragon. Analiza datos de CPU, GPU, DSP, memoria, energía, temperatura y red para ayudar a encontrar y solucionar cuellos de botella en el rendimiento.
Intel
- Intel VTune: Encuentre y solucione rápidamente los cuellos de botella en el rendimiento de las plataformas Intel con este conjunto de herramientas. Sólo para procesadores Intel.
- Paquete Intel GPA: Un conjunto de herramientas centradas en los gráficos que le ayudarán a mejorar el rendimiento de su juego identificando rápidamente las áreas problemáticas.
Xbox / Windows
- PIX: PIX es una herramienta de ajuste del rendimiento y depuración para desarrolladores de juegos para Windows y Xbox que utilizan DirectX 12. Incluye herramientas para comprender y analizar el rendimiento de la CPU y la GPU, así como para supervisar diversos contadores de rendimiento en tiempo real. Para obtener más información sobre cómo aprovechar PIX para el desarrollo de juegos de Xbox, regístrese como desarrollador de Xbox.
PC / Universal
- AMD μProf: AMD uProf es una herramienta de análisis de rendimiento para comprender y perfilar el rendimiento de las aplicaciones que se ejecutan en hardware AMD.
- NVIDIA NSight: Herramientas que permiten a los desarrolladores crear, depurar, perfilar y desarrollar software de última generación utilizando el último hardware de visualización de NVIDIA.
- Superlumínico: Superluminal es un perfilador de alto rendimiento y alta frecuencia que permite perfilar aplicaciones en Windows, Xbox One y PlayStation escritas en C++, Rust y .NET. Sin embargo, es un producto de pago y debe obtenerse una licencia para poder utilizarlo.
PlayStation
- Existen herramientas de perfilado de CPU para el hardware de PlayStation. Para obtener más información, debe estar registrado como desarrollador de PlayStation®.
iOS
- Xcode Instruments y el depurador de marcos de Xcode: Instruments es una potente y flexible herramienta de análisis y pruebas de rendimiento que forma parte del conjunto de herramientas de Xcode.
WebGL
- Perfil de Firefox: Profundiza en las pilas de llamadas y visualiza los gráficos de llama de las compilaciones de Unity WebGL (entre otras cosas) con Firefox Profiler. También cuenta con una herramienta de comparación para ver las capturas de perfiles una al lado de la otra.
- Rendimiento de Chrome DevTools: Otra herramienta de navegador web que puede ser usada para perfilar construcciones Unity WebGL.
Mientras que la herramienta Unity Frame Debugger captura e ilustra las llamadas de dibujo que se envían desde la CPU, las siguientes herramientas pueden ayudar a mostrar lo que hace la GPU cuando recibe esos comandos.
Algunas son específicas de cada plataforma y ofrecen una integración más estrecha. Eche un vistazo a las herramientas correspondientes a las plataformas de su interés:
- Analizador de gráficos Arm: Parte del paquete de software Mobile Studio de Arm
- RenderDoc: Depurador de GPU para plataformas de escritorio y móviles
- Intel GPA: Perfiles gráficos para plataformas basadas en Intel
- Herramientas de depuración Apple Frame Capture: Depuración de GPU para plataformas Apple
- Diagnóstico gráfico de Visual Studio: Elija esta opción y/o PIX para plataformas basadas en DirectX como Windows o Xbox
- Depurador de fotogramas NVIDIA Nsight: Depurador de fotogramas basado en OpenGL para GPU NVIDIA
- AMD Radeon Developer Tool Suite: Perfilador de GPU para GPU AMD
- Depurador de fotogramas de Xcode: Para iOS y macOS
Descárgate gratis el libro electrónico Ultimate guide to profiling Unitygames para obtener todos los consejos y las mejores prácticas.