El desarrollo de juegos móviles encuentra problemas de forma. ¿Qué herramientas de análisis de representación de formas están disponibles?
Debido a que tu propio juego tiene código fuente, tiene más herramientas de análisis.
RenderDoc
RenderDoc era originalmente una herramienta de depuración de gráficos para CryEngine y ahora es de código abierto. Esta herramienta se utiliza principalmente en la plataforma Windows. La plataforma Mac aún está en desarrollo y el progreso actual es relativamente lento. La herramienta en sí puede analizar en profundidad la representación de gráficos de DirectX 11, registrar llamadas a la API, registrar el estado de la representación, registrar los recursos de representación, etc. , funciones completas y fácil de usar.
Aunque la herramienta también admite OpenGL, el soporte para OpenGL no está lo suficientemente maduro, por lo que se utiliza principalmente para analizar DirectX.
Esta herramienta se ha integrado en la versión para Windows de Unity Editor y se puede utilizar directamente en el editor.
Instrumentos XCode
La herramienta de depuración gráfica que viene con XCode ya es muy fácil de usar. Si está desarrollando juegos para iOS, las herramientas que vienen con XCode ya pueden satisfacer sus necesidades.
Los juegos desarrollados por Unity también se pueden depurar utilizando la función de depuración de gráficos de XCode después de exportarlos a proyectos de iOS.
Visual Studio Framework Debugger
La herramienta de depuración gráfica que viene con VS también es muy poderosa. Por supuesto, solo es compatible con la plataforma Windows. Debido a que el desarrollo de juegos actual se centra principalmente en plataformas móviles iOS y Android, no se utilizan mucho.
Unity Frame Debugger
Unity viene con su propia herramienta de depuración de gráficos. Esta función es relativamente débil, pero debido a que está integrada en Unity, es muy conveniente abrirla, por lo que puede usarla ocasionalmente para ver los pasos de renderizado aproximados.
Juegos de terceros
Los juegos de terceros no tienen código fuente, pero existen algunas herramientas de GPU que pueden ayudar a ver el estado de renderizado y analizar el proceso de renderizado. Estas herramientas generalmente las desarrollan y mantienen proveedores de hardware de GPU y no hay versiones de código abierto disponibles.
PVRTrace
PVRTrace es una herramienta de análisis de GPU proporcionada por Imagination Technology. Los pasos para usarlo en un teléfono Android son los siguientes:
El teléfono Android probado necesita usar la GPU de Imagination Technology. Aunque la serie de chips SGX se usa ampliamente en los teléfonos móviles de Apple, SGX no se usa particularmente en la plataforma Android. El Kindle Fire HD de Amazon utiliza el chipset SGX.
Los teléfonos Android requieren Root. Puede utilizar la herramienta raíz con un solo clic para realizar operaciones de raíz.
Instala PVRHub en tu teléfono móvil
Abre Trace en PVRHub y selecciona la aplicación de destino, PVRTrace comenzará a registrar datos de renderizado.
Los datos del resultado renderizado se guardan en el teléfono móvil y se requiere adb para extraer los datos renderizados localmente.
Abre PVRTraceGUI para importar datos de renderizado.
En este punto, puedes empezar a analizar tus datos.
Pero al final, la herramienta PVRTrace no se utilizó con éxito y se encontraron los siguientes problemas:
El teléfono que comencé a probar era Xiaomi 2 y la GPU no era la SGX. serie, sino la serie Adreno de Qualcomm. La ventana de imagen de PVRTraceGUI no puede mostrar el framebuffer renderizado.
Después de cambiar a Kindle Fire HD, descubrí que es difícil rootear el Kindle. Después de algunos fracasos, dejé de intentarlo.
Para resumir estos problemas, de hecho, nunca hemos encontrado un dispositivo GPU SGX adecuado. No la herramienta en sí.
Adreno Profiler
Adreno Profiler es una herramienta de depuración de renderizado de GPU de Qualcomm. Tiene una función similar a PVRTrace y proporciona funciones de análisis de grabación y reproducción de la API de renderizado. Esta herramienta también fue desarrollada para los conjuntos de chips de Qualcomm.
Tenía un dispositivo Xiaomi 2 en la mano, así que probé Adreno Profiler, pero aún así no funcionó.
Adreno Profiler está basado en mono y se recomienda su uso en la plataforma Windows. También lo uso en la plataforma Windows y no he probado la versión para Mac. Debe instalar el SDK de Android antes de usarlo, porque la herramienta necesita usar adb en el SDK.
Debes probar que el juego tenga capacidades de red; de lo contrario, no podrá conectarse. PerfHud ES también tiene los mismos requisitos.
Después de cumplir estos requisitos previos, Adreno Profiler se inicia correctamente y puede conectarse correctamente al teléfono móvil. Sin embargo, al utilizar la prueba Ball Battle, se descubrió que se produjo un error de C# después de que Adreno Profiler capturó un marco de datos y lo analizó. Al final el problema no se solucionó.
Adreno Profiler es de hecho la más fácil de configurar entre todas las herramientas de depuración, pero todavía hay errores en el uso real. Un error inutiliza Adreno Profiler.
PerfHud
PerfHud es la herramienta de análisis gráfico de nVidia. Las herramientas de NVIDIA son potentes y completas. Se han utilizado antes y se utilizan ampliamente en plataformas de escritorio.
Sin embargo, debido a que la GPU de nVidia, la serie Tegra, no tiene una alta participación de mercado en plataformas móviles, no ha habido posibilidad de utilizar este dispositivo en plataformas móviles.
PerfHud ES está integrado en Nvidia CodeWorks y requiere descargar CodeWorks para usarlo. CodeWorkd descargará automáticamente el entorno de desarrollo completo de Android, por lo que si no hay un entorno de desarrollo en la máquina, ahorrará mucho trabajo usar CodeWorks para crear el entorno con un solo clic. Sin embargo, el IDE descargado por CodeWorks es Eclipse, que está desactualizado.
Es posible que PerfHud ES no pueda encontrar adb al inicio, por lo que debe especificar la ruta a adb al inicio.