Phân tích mức sử dụng băng thông bộ nhớ đỉnh

Băng thông bộ nhớ của dữ liệu đỉnh có thể là một điểm tắc nghẽn tiềm ẩn đối với hiệu suất GPU của trò chơi. Có một số bộ đếm trong hồ sơ hệ thống AGI có thể giúp chẩn đoán các vấn đề về băng thông bộ nhớ đỉnh.

Bộ đếm Qualcomm Adreno

Trên các thiết bị có GPU Qualcomm Adreno, một số bộ đếm đáng chú ý bao gồm:

Kệ bếp Mô tả
Đọc bộ nhớ đỉnh Băng thông của dữ liệu đỉnh được đọc từ bộ nhớ ngoài.
Số byte/đỉnh trung bình Kích thước trung bình của dữ liệu đỉnh, tính bằng byte.
% Vertex Fetch Stall Tỷ lệ phần trăm chu kỳ xung nhịp mà GPU bị chặn trên dữ liệu đỉnh.

Bộ đếm ARM Mali (đang trong quá trình triển khai)

Trên các thiết bị có GPU ARM Mali, một số bộ đếm đáng chú ý bao gồm:

Kệ bếp Mô tả
Tải/lưu trữ nhịp đọc từ bộ nhớ ngoài Dữ liệu được đọc từ bộ nhớ ngoài bằng đơn vị tải/lưu trữ, được tính trung bình trên các lõi chương trình đổ bóng.
Tải/lưu trữ các nhịp đọc từ bộ nhớ đệm L2 Số lần đọc dữ liệu từ bộ nhớ đệm L2 của đơn vị tải/lưu trữ, trung bình trên các lõi chương trình đổ bóng.
[Khác]

Để tính toán băng thông tổng thể từ số nhịp đọc trung bình, giá trị bộ đếm được nhân với độ rộng của bus (thường là 16 byte) và với tổng số lõi chương trình đổ bóng. [Khác]

Phân tích số lượt truy cập

Để đo lường hành vi của các bộ đếm này, bạn có thể đo lường băng thông trung bình và băng thông đỉnh trong một khung hình GPU duy nhất. Khung hình này có thể được phân định bằng một khối liên tục của Mức sử dụng GPU.

Băng thông đọc bộ nhớ đỉnh cho một khung hình, với giá trị trung bình là 327 MB/giây và giá trị đỉnh là 1,16 GB/giây
Hình 1: Băng thông đọc bộ nhớ đỉnh cho một khung hình, với giá trị trung bình là 327 MB/giây và giá trị đỉnh là 1,16 GB/giây

Chúng tôi đề xuất băng thông đọc bộ nhớ đỉnh không quá 1, 5 GB/giây và băng thông trung bình không quá 500 MB/giây. Giá trị càng cao thì càng cho thấy một trong số ít vấn đề thường gặp:

  • Kích thước đỉnh quá lớn: Các đỉnh có thể có nhiều thuộc tính đỉnh hoặc một số lượng lớn thuộc tính đỉnh, ảnh hưởng lớn đến thời gian đổ bóng đỉnh.
  • Luồng thuộc tính đỉnh không được phân tách: Các thuộc tính đỉnh được xen kẽ vào một vùng đệm duy nhất, làm giảm hiệu quả của bộ nhớ đệm.
  • Gửi quá nhiều đỉnh cho mỗi khung hình: Các mô hình phức tạp và/hoặc số lượng lớn mô hình có thể chiếm nhiều băng thông hơn và mất nhiều thời gian hơn để tạo bóng.

Bạn cũng có thể chẩn đoán các vấn đề về kích thước đỉnh thông qua bản ghi Trung bình số byte / đỉnh. Chúng tôi đề xuất kích thước này không được cao hơn 32 byte hoặc đỉnh.

Kích thước đỉnh trung bình cho một khung hình, với giá trị trung bình là 31,3 byte
Hình 2: Kích thước đỉnh trung bình cho một khung hình, với giá trị trung bình là 31,3 byte

Cách tốt nhất để chẩn đoán vấn đề mà bạn có thể gặp phải là lấy dấu vết hồ sơ khung hình để phân tích định dạng đỉnh.