La curiosidad de la mente y el deseo de saber cómo funciona todo desde el interior distingue al técnico de la masa de usuarios. En esta breve publicación, me gustaría compartir con la comunidad curiosa pequeños videos y una breve receta para usar el software de creación de perfiles para aplicaciones 3D.
Descargo de responsabilidad3D , , . . 3D . . ( ) — . .
, . .
- , «» «»
Mire el video y luego léalo.Entonces, si queremos evaluar cómo se lleva a cabo la preparación del marco del juego. ¿Qué geometría, texturas, cuántas llamadas para dibujar, dónde se produce la reducción de rendimiento? Puede usar software especializado para depurar estos procesos.Voy a enumerar los principales:- Renderderoc
- Nvidia nsight
- GPUperfStudio
RenderDoc es un depurador gráfico de Crytek.
(En la captura de pantalla, el busto de Lara Croft de la última parte: Rise of the Tomb Rider)Soporte DirectX 11/12, Vulkan, OpenGL 3.2+
Este es un proyecto de código abierto. Regularmente respaldado por nuevos compromisos.→ Enlace al repositorio y documentaciónLa interfaz es bastante flexible e intuitivamente simple. En 5 minutos, no es difícil para un alma inquisitiva descubrir cómo iniciar un juego o aplicación y recorrer todo el proceso de renderizado. No es necesario iniciar aplicaciones de terceros.Especifique la ruta a exe, parámetros adicionales y ejecutar. A continuación, en la aplicación, en el momento adecuado, presione F12 o PrintScrn, RenderDoc guarda un cuadro que se puede guardar y vuelve a él incluso sin iniciar el juego o compartirlo con un compañero.Por ejemplo, puede exportar geometría y texturas.
Nvidia Nsight es una herramienta de depuración de NVIDIA.
Una excelente y muy poderosa herramienta de depuración. Esta no es la única herramienta en el arsenal de Nvidia. Existen herramientas para aplicaciones móviles, Linux, dispositivos Mac, etc. En toda su diversidad, no entendí. Se supone que Nsight debe usarse junto con Visual Studio, pero para un inicio rápido, puede intentarlo sin el IDE de Microsoft instalado.Nos registramos de forma gratuita en el Programa para desarrolladores de Nvidia y descargamos tranquilamente las herramientas necesarias. El sitio web de Nvidia tiene documentación y videos explicativos sobre el uso de las herramientas.Para comenzar, simplemente arrastre el acceso directo de la aplicación al acceso directo de Nvidia Nsight. Y, si todo está correcto, verá HUD'y y gráficos de Nsight.El marco se simplifica: presione CTRL + Z, luego presione la barra espaciadora o el botón con el icono de lupa. El proceso se detiene y se abre la ventana Nsight Replay, en la parte inferior de la cual hay una línea de tiempo con un control deslizante. Nsight tiene consejos y la interfaz es bastante simple. También es posible guardar la representación completa del marco en un archivo, pero para abrirlo aún debe instalar Visual Studio.
Para profundizar en el proceso, todas las manipulaciones deben hacerse desde VS. Inicie la aplicación 3D desde VS o inicie el marco guardado (la función de guardar el acceso y sin VS instalado)Cree un proyecto vacío:
busque un botón en el que ingresemos la ruta a la aplicación y algunas configuraciones necesarias.
Y después de eso comenzamos a depurar. La aplicación se abre. Si se usa un cargador, entonces solo tendrá que seleccionar el proceso deseado en la ventana.
El proceso es el mismo que describí anteriormente. Pero ahora VS abre capacidades de depuración adicionales, que no están disponibles cuando se depura sin VS. Tanto geometría como texturas, y sombreadores. Puede analizar procesos desde diferentes ángulos.
Nsight también tiene una característica útil: puede ejecutar la aplicación con el servidor en una máquina dedicada y conectarse desde VS. Por lo tanto, no todos necesitan implementar el mismo entorno con la aplicación, lo que simplifica la vida del desarrollador o del equipo de desarrollo.Para trabajar con marcos guardados, simplemente abra el proyecto guardado para su versión de Visual Studio, compile la versión de lanzamiento y habilite la depuración de Nsight. Además, como se describió anteriormente.Por cierto ¿No se entiende si es posible observar en Nsight toda la geometría de la ejecución, como se hace en RenderDoc? Es muy conveniente cuando se muestra una llamada de extracción específica con cuadrículas de llamadas anteriores.Además, no pude verificar el funcionamiento del software en la tarjeta de video de AMD, por falta de este último. Pero parece que Nvidia no tiene requisitos estrictos en este asunto.GPU PerfStudio - desarrollo por Advanced Micro Devices (AMD)
Una herramienta maravillosa y poderosa. También tiene la capacidad de depurar de forma remota.→ Enlace de descarga y documentación.
Es fácil de usar. Hay 2 versiones del servidor (64 y 32 bits) para iniciar, solo arrastre la aplicación necesaria al servidor. Lo que él mismo preguntará cuando intentes ejecutarlo.
Luego, solo encienda el cliente. Nos conectamos al servidor, hacemos una pausa en el momento adecuado y ahora podemos hacer todo lo que hicimos antes en RenderDoc o Nvidia Nsight.Amplio soporte para varias API y dispositivos. A pesar de su origen, es compatible con mi tarjeta gráfica Nvidia. Así que no hay conspiraciones y palos en la rueda ...UPD Los comentarios sugirieron otra herramienta de código abierto.apitraceMultiplataforma y compatible con varias API. Todavía no lo he sentido, pero según lieff es una herramienta útil y simple.
No puedo decir qué herramienta es la mejor de ellas. Cada uno tiene algunas de sus propias mini características, tablas, gráficos, que pueden contener información que es muy necesaria en una tarea en particular. En el lado del usuario, una persona curiosa, de alguna manera más "sucedió" con RenderDoc. Pero a veces no todos los procesos pueden iniciarse en él.Y, por cierto, sobre los procesos de inicio. Todo es muy fácil y simple cuando tiene la aplicación A y la herramienta B. Luego, la herramienta B inicia la aplicación A y todos están contentos. Pero si hay intermediarios en este esquema: lanzadores, software anti-trampas y otros envoltorios, entonces tienes que bailar un poco.Considere un ejemplo de lanzamiento de un juego desde Steam u Origin y otros servicios.En este caso, debe cumplir un determinado procedimiento en cualquier kit de herramientas:- Deshabilita todo tipo de funciones de superposición en el juego en Steam, Origin, Uplay, etc.
- Antes de comenzar estas aplicaciones deben estar apagadas.
- No necesita ejecutar el archivo del juego, sino un contenedor (Steam, Origin, Uplay, etc.)
- Después de eso, puedes iniciar el juego directamente desde el "contenedor"
- A menudo, se necesitan opciones de lanzamiento adicionales. Por ejemplo, para Watch Dogs 2, el parámetro -eac_launcher se usa para deshabilitar el anti-trampa. Aquí debe leer el archivo Léame, configuraciones para pistas. Además, las opciones adicionales ayudan a acelerar el proceso de inicio de la aplicación. Ejemplo de Steam: -applaunch 99999 (id de aplicación)
- Siempre verifique la versión de la API en la aplicación. Quizás DX12 esté habilitado en la configuración, pero no es compatible con usted, etc. Realice ajustes preestablecidos, cierre el juego y solo entonces comience a depurar.
- Algunas aplicaciones no son estables en sistemas multigráficos (por ejemplo: video incorporado + tarjeta discreta). Desactivar innecesaria en el administrador de dispositivos. Además, en este caso, es mejor debutar la toma del cuadro y no el juego en ejecución. Porque reinicio de tormento en caso de colapso.
Los videos prometidos para una merienda. Grabo videos de lapso de tiempo del proceso de renderizar un fotograma de un juego. Lo encuentro muy entretenido, informativo y hermoso. No todos los eventos se muestran en el video, ya que en ese caso sería demasiado crispar.PubgCampo de batalla 1GTA VRise of Tomb RiderWitcher 3Watch dogs 2Fallout 4Sobre sorteosY eso es todo. Espero que este material impresione, le diga, ayude o que de alguna otra manera positiva afecte al lector. Envíe ediciones, consejos, agradecimientos y patadas al PM o comentarios.Y, por último, me gustaría publicitar un poco mi canal de Youtube: www.youtube.com/KakoytoAitishnikEsto, por supuesto, es una mala idea para los gictimes, pero todos estos artilugios sociales: suscripciones, me gusta y comentarios, aumentan la motivación para el lanzamiento de contenido nuevo y mejor.