Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Bandwidth memori data vertex dapat menjadi potensi bottleneck bagi performa GPU game Anda. Ada beberapa penghitung di profil sistem AGI yang dapat membantu mendiagnosis masalah bandwidth memori vertex.
Penghitung Qualcomm Adreno
Pada perangkat dengan GPU Qualcomm Adreno, beberapa penghitung yang terkenal meliputi:
Negosiasikan
Deskripsi
Pembacaan Memori Vertex
Bandwidth data vertex yang dibaca dari memori eksternal.
Rata-Rata Byte/Vertex
Ukuran rata-rata data vertex, dalam byte.
% Kios Pengambilan Vertex
Persentase siklus jam saat GPU diblokir pada data verteks.
Penghitung Mali ARM (WIP)
Pada perangkat dengan GPU ARM Mali, beberapa penghitung yang penting meliputi:
Negosiasikan
Deskripsi
Memuat/menyimpan ketukan pembacaan dari memori eksternal
Data yang dibaca dari memori eksternal oleh unit pemuatan/penyimpanan, dirata-ratakan di atas inti shader.
Memuat/menyimpan ketukan pembacaan dari cache L2
Data yang dibaca dari cache L2 oleh unit pemuatan/penyimpanan, dirata-ratakan dari inti shader.
[Lainnya]
Untuk menghitung bandwidth keseluruhan dari ketukan operasi baca rata-rata, nilai penghitung dikalikan dengan lebar bus (biasanya 16 byte) dan dengan jumlah total inti shader. [Lainnya]
Analisis penghitung
Untuk mengukur perilaku penghitung ini, Anda dapat mengukur bandwidth rata-rata dan puncak selama frame GPU tunggal, yang dapat digambarkan dengan blok Pemakaian GPU yang berdekatan.
Gambar 1: Bandwidth pembacaan memori vertex untuk satu frame, dengan nilai rata-rata 327 MBps dan nilai puncak 1,16 GBps
Sebaiknya bandwidth pembacaan memori verteks puncak tidak lebih tinggi dari 1,5 GBps, dan bandwidth rata-rata tidak lebih dari 500 MBps. Nilai yang lebih tinggi merupakan indikator dari salah satu masalah umum:
Ukuran verteks terlalu besar: Verteks mungkin memiliki atribut verteks yang besar atau atribut verteks dalam jumlah besar, yang memengaruhi waktu shading verteks secara keseluruhan.
Aliran atribut Vertex tidak dibagi: Atribut Vertex disilangkan menjadi satu buffer, sehingga mengurangi efisiensi cache.
Terlalu banyak verteks yang dikirimkan per frame: Model kompleks dan/atau model dalam jumlah besar mungkin memerlukan bandwidth yang lebih besar dan memerlukan waktu yang lebih lama untuk shading.
Masalah ukuran vertex juga dapat didiagnosis melalui jalur Average Bytes / Vertex, yang sebaiknya tidak lebih tinggi dari 32 byte atau verteks.
Gambar 2: Ukuran verteks rata-rata untuk satu frame, dengan nilai rata-rata 31,3 byte
Cara terbaik untuk mendiagnosis masalah yang mungkin Anda hadapi adalah dengan mengambil pelacakan profil frame untuk menganalisis format verteks.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 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)."]]