Analisar o uso da largura de banda da memória do vértice
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
A largura de banda da memória dos dados do vértice pode ser um possível gargalo para o desempenho da GPU do jogo. Há alguns contadores em um perfil do sistema AGI que podem ajudar a diagnosticar problemas de largura de banda de memória do vértice.
Contadores Qualcomm Adreno
Em dispositivos com GPUs Qualcomm Adreno, alguns contadores importantes incluem:
Enviar contraoferta
Descrição
Leitura de memória Vertex
Largura de banda dos dados do vértice lidos da memória externa.
Média de bytes/vértices
Tamanho médio dos dados do vértice, em bytes.
% de parada de busca de vértices
Porcentagem de ciclos de clock em que a GPU está bloqueada nos dados de vértice.
Contadores da ARM Mali (WIP)
Em dispositivos com GPUs ARM Mali, alguns contadores importantes incluem:
Enviar contraoferta
Descrição
Carregar/armazenar batidas de leitura da memória externa
Os dados superam a leitura da memória externa pela unidade de carga/armazenamento, calculada sobre os núcleos do sombreador.
Carregar/armazenar batidas de leitura do cache L2
Os tempos de dados lidos do cache L2 pela unidade de carregamento/armazenamento, calculados em média sobre os núcleos do sombreador.
[Mais]
Para calcular a largura de banda geral a partir das batidas médias de leitura, o valor do contador é multiplicado pela largura do barramento (normalmente 16 bytes) e pelo número total de núcleos de sombreador. [Mais]
Análise de contagem
Para medir o comportamento desses contadores, você pode medir a largura de banda média e máxima
ao longo de um único frame de GPU, que pode ser delineada com um
bloco contíguo de Utilização de GPU.
Figura 1 : largura de banda de leitura de memória do Vertex para um único frame, com um valor médio de 327 MBps e um valor de pico de 1,16 GBps.
Recomendamos uma largura de banda de leitura de memória do vértice de pico não superior a 1, 5 GBps e uma largura de banda média não superior a 500 MBps. Valores mais altos são indicadores de um de alguns problemas comuns:
O tamanho do vértice é muito grande: os vértices podem ter atributos de vértice grandes ou um grande número de atributos de vértice, afetando muito o tempo de sombreamento de vértices.
Os fluxos de atributos da Vertex não são divididos: os atributos da Vertex são intercalados em um único buffer, reduzindo a eficiência do cache.
Muitos vértices enviados por frame: modelos complexos e/ou um grande número de modelos podem ocupar mais largura de banda e levar mais tempo para serem sombreados.
Os problemas de tamanho do vértice também podem ser diagnosticados pela faixa Average Bytes / Vertex, que recomendamos ter, no máximo, 32 bytes ou vértices.
Figura 2 : tamanho médio do vértice para um único frame, com valor médio de 31,3 bytes.
A melhor maneira de diagnosticar qual desses problemas você está enfrentando é fazer um rastro de perfil de frame para analisar formatos de vértice.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-07-27 UTC."],[],[],null,["# Analyze vertex memory bandwidth usage\n\nThe memory bandwidth of vertex data can be a potential bottleneck for your game's GPU performance. There are some counters in an AGI system profile that can help diagnose vertex memory bandwidth issues.\n\nQualcomm Adreno counters\n------------------------\n\nOn devices with Qualcomm Adreno GPUs, some notable counters include:\n\n| Counter | Description |\n|----------------------|---------------------------------------------------------------------|\n| Vertex Memory Read | Bandwidth of vertex data read from external memory. |\n| Average Bytes/Vertex | Average size of vertex data, in bytes. |\n| % Vertex Fetch Stall | Percentage of clock cycles where the GPU is blocked on vertex data. |\n\nARM Mali counters (WIP)\n-----------------------\n\nOn devices with ARM Mali GPUs, some notable counters include:\n\n| Counter | Description |\n|--------------------------------------------|----------------------------------------------------------------------------------------------|\n| Load/store read beats from external memory | Data beats read from external memory by the load/store unit, averaged over the shader cores. |\n| Load/store read beats from L2 cache | Data beats read from the L2 cache by the load/store unit, averaged over the shader cores. |\n| \\[More\\] | |\n\nTo calculate the overall bandwidth from average read beats, the counter value is multiplied by the bus width (typically 16 bytes) and by the total number of shader cores. \\[More\\]\n\nCounter analysis\n----------------\n\nTo measure the behavior of these counters, you can measure the average and peak\nbandwidth over the course of a single GPU frame, which can be delineated with a\ncontiguous block of **GPU Utilization**.\n**Figure 1:**Vertex memory read bandwidth for a single frame, with an average value of 327 MBps and a peak value of 1.16 GBps\n\nWe recommend a peak vertex memory read bandwidth of no higher than 1.5 GBps, and an average bandwidth no higher than 500 MBps. Higher values are indicators of one of a few common issues:\n\n- **Vertex size is too big**: Vertices may have large vertex attributes or a large number of vertex attributes, affecting vertex shading time at large.\n- **Vertex attribute streams are not split**: Vertex attributes are interleaved into a single buffer, reducing cache efficiency.\n- **Too many vertices submitted per frame**: Complex models and/or a large number of models may take up greater bandwidth and take longer to shade.\n\nVertex size issues may also be diagnosed through the **Average Bytes / Vertex**\ntrack, which we recommend to be no higher than 32 bytes or verteces.\n**Figure 2:**Average vertex size for a single frame, with an average value of 31.3 bytes\n\nThe best way to diagnose which of these problems you may be facing is by taking a frame profile trace to [analyze vertex formats](/agi/frame-trace/vertex-formats)."]]