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:

Bộ đếm 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ỳ đồng hồ 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:

Bộ đếm Mô tả
Tải/lưu trữ nhịp đọc từ bộ nhớ ngoài Số lượng dữ liệu được đọc từ bộ nhớ ngoài theo đơn vị tải/lưu trữ, 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ượng nhịp dữ liệu được đọc từ bộ nhớ đệm L2 theo đơ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 tổng băng thông từ số lượt đọc trung bình, giá trị bộ đếm được nhân với độ rộng của bus (thường là 16 byte) và tổng số lõi chương trình đổ bóng. [Khác]

Phân tích phản hồi

Để đ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

Bạn nên sử dụng băng thông đọc bộ nhớ đỉnh của đỉ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 chia: 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.
  • Số lượng đỉnh được gửi trên mỗi khung hình quá nhiều: 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 chỉ số Số byte trung bình / đỉnh. Chúng tôi đề xuất chỉ số 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 một dấu vết hồ sơ khung hình để phân tích định dạng đỉnh.