Uso del generador de perfiles para VRAM - Guía del usuario de Lumberyard

Uso del generador de perfiles para VRAM

El generador de perfiles está en versión preliminar y sujeto a cambios.

Puede utilizar el generador de perfiles de memoria de vídeo (generador de perfiles VRAM) para determinar qué recursos contribuyen más al uso de VRAM en el tiempo de ejecución de su juego.

El generador de perfiles VRAM registra la cantidad de memoria de vídeo que utiliza un juego, incluidas las desasignaciones y asignaciones producidas durante la captura. Esta última información es útil a la hora de detectar cuellos de botella en el desempeño de representación.

También puede utilizar la información de uso de la memoria del generador de perfiles VRAM para determinar los requisitos de memoria mínimos de la GPU (unidad de procesamiento de gráficos) del equipo del juego o para determinar si su juego agotará la memoria de una consola o un dispositivo móvil.

Notas

El generador de perfiles VRAM incluye los siguientes atributos:

  • El generador de perfiles VRAM no tiene vista de gráficos ni vista de árbol.

  • El único formato de exportación compatible es .csv. Para ver los pasos para guardar información de Profiler en un archivo .csv, consulte Exportación de datos.

  • Lumberyard utiliza una serie de esquemas de agrupación de memoria, por lo que la cantidad asignada real de la VRAM es ligeramente superior de lo que se notifica.

Entender los datos capturados

La imagen siguiente muestra cómo el archivo .csv guardado aparece en una aplicación de hoja de cálculo:


          Datos capturados

Los datos capturados contienen básicamente dos tablas de información: información general acerca de la asignación de memoria y el uso (dividido entre textura y activos de búfer) y una lista de los recursos con la cantidad de VRAM que se ha asignado para cada uno durante la captura.

Vea la información detallada sobre cada encabezado a continuación.

Categoría

Indica el tipo de asignación:

  • Texture (Textura): incluye recursos de textura, texturas generadas de forma dinámica y búferes de fotogramas.

  • Buffer (Búfer): incluye búferes de índice y vértice, búferes constantes y otros búferes en el tiempo de ejecución.

     

Number of Allocations

El número de eventos de asignación registrados. Cuando se inicia la captura, todas las asignaciones activas se envían al generador de perfiles como un número inicial. Cualquier asignación o desasignación nueva aumentará o disminuirá este número.

Memory Usage

El tamaño total de VRAM utilizado, en bytes.

Resource Name

El nombre y la ruta completa de los recursos asignados. Un nombre de recurso sin una ruta normalmente denota un recurso de motor en el tiempo de ejecución.

VRAM Allocation Size

El tamaño de la asignación, en bytes.

Inspección de los datos

La primera vez que abra la hoja de cálculo, los datos estarán desordenados. Para ordenar los datos, puede utilizar una aplicación de hoja de cálculo:


          Orden personalizado

Para identificar de forma rápida y sencilla los principales recursos problemáticos o recursos en el tiempo de ejecución, ordene por VRAM Allocation Size (Tamaño de asignación VRAM) en orden descendente, o por Resource Name (Nombre de recurso) de la A a la Z:


          Orden descendente de VRAM

Tamaños de asignación VRAM negativos

Algunos campos pueden tener un número negativo para VRAM Allocation Size (Tamaño asignación de VRAM), como en la imagen siguiente:


            Tamaño de asignación de VRAM negativo

Estas importantes situaciones muestran que se ha producido un evento de desasignación de VRAM durante la captura. Si observa un gran número de entradas de desasignación durante un corto periodo de tiempo, su juego puede estar experimentando una disminución significativa del desempeño. Para mejorar el desempeño del juego en todos los sistemas operativos, debe intentar tener el menor número posible de asignaciones y desasignaciones de VRAM inactivas por fotograma.

¿Por qué algunas texturas no aparecen en el archivo .csv?

Si ve una gran cantidad de asignaciones llamadas StreamingTexturePool, o entradas como $TexturePool_9_0000000002C59248, esto significa que el sistema de streaming de la textura está activo. El sistema de streaming de texturas asigna todas las texturas de forma predeterminada a una variedad de conjuntos de texturas almacenados en la memoria caché. El generador de perfiles VRAM informa sobre el tamaño de los conjuntos de streaming activo y no sobre los nombres de los activos de texturas reales. Para obtener los nombres y tamaños de las texturas asignadas y cargadas, defina r_TexturesStreaming=0 en su archivo de configuración del sistema y, luego, haga otra captura. Esta configuración deshabilita el sistema de streaming de texturas y produce los tamaños reales de las asignaciones de texturas que hay que notificar.

nota

En esta situación, es aconsejable hacer dos capturas: una con r_TexturesStreaming habilitado, y otra con este desactivado. Cuando el streaming de texturas está habilitado, el uso de su VRAM es menor por la expulsión de la textura y la carga de niveles de mapa MIP de menor resolución. Los informes de memoria son más precisos cuando el streaming de texturas está habilitado, pero conseguirá una vista mucho más clara del uso de la memoria, en el peor de los casos, cuando el streaming de texturas esté deshabilitado.