El ancho de banda de la memoria de los datos de vértices puede ser un cuello de botella potencial para el rendimiento de la GPU de tu juego. Hay algunos contadores en un perfil del sistema de la AGI que pueden ayudar a diagnosticar problemas de ancho de banda de la memoria de vértices.
Contadores de Qualcomm Adreno
En los dispositivos con GPUs Qualcomm Adreno, algunos contadores notables incluyen los siguientes:
| Contador | Descripción |
|---|---|
| Lectura de memoria de vértices | Es el ancho de banda de los datos de vértices que se leen de la memoria externa. |
| Promedio de bytes por vértice | Tamaño promedio de los datos de vértices, en bytes. |
| % de bloqueos de recuperación de Vertex | Es el porcentaje de ciclos de reloj en los que la GPU está bloqueada en los datos de vértices. |
Contadores de ARM Mali (en desarrollo)
En los dispositivos con GPUs ARM Mali, algunos contadores destacados son los siguientes:
| Contador | Descripción |
|---|---|
| Carga y almacena ritmos de lectura desde la memoria externa | Son los bits de datos que lee la unidad de carga/almacenamiento de la memoria externa, promediados en los núcleos del sombreador. |
| Carga y almacena los ritmos de lectura desde la caché L2 | Son los datos leídos de la caché de L2 por la unidad de carga/almacenamiento, promediados en los núcleos del sombreador. |
| [Más] |
Para calcular el ancho de banda general a partir de los beats de lectura promedio, el valor del contador se multiplica por el ancho del bus (por lo general, 16 bytes) y por la cantidad total de núcleos de sombreador. [Más]
Análisis de contador
Para medir el comportamiento de estos contadores, puedes medir el ancho de banda promedio y máximo durante el transcurso de un solo fotograma de la GPU, que se puede delinear con un bloque contiguo de Utilización de la GPU.
Recomendamos un ancho de banda máximo de lectura de memoria de vértices de no más de 1.5 GB/s y un ancho de banda promedio de no más de 500 MB/s. Los valores más altos son indicadores de uno de los siguientes problemas comunes:
- El tamaño del vértice es demasiado grande: Es posible que los vértices tengan atributos grandes o una gran cantidad de atributos, lo que afecta el tiempo de sombreado de los vértices en general.
- No se dividen los flujos de atributos de vértice: Los atributos de vértice se intercalan en un solo búfer, lo que reduce la eficiencia de la caché.
- Se enviaron demasiados vértices por fotograma: Los modelos complejos o una gran cantidad de modelos pueden ocupar más ancho de banda y tardar más en generar sombras.
Los problemas de tamaño de los vértices también se pueden diagnosticar a través del seguimiento de Bytes promedio por vértice, que recomendamos que no supere los 32 bytes o vértices.
La mejor manera de diagnosticar cuál de estos problemas puedes estar enfrentando es tomar un registro de perfil de fotogramas para analizar los formatos de vértices.