Băng thông bộ nhớ của dữ liệu kết cấu có thể là một điểm tắc nghẽn tiềm ẩn đối với hiệu suất GPU của ứng dụng. 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ớ kết cấu.
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ả |
---|---|
Băng thông đọc bộ nhớ kết cấu (Byte/giây) | Băng thông của dữ liệu kết cấu được đọc từ bộ nhớ ngoài. |
% Lỗi kết cấu L1 | Bộ nhớ đệm L1 bị thiếu do tìm nạp hoạ tiết. |
% Non-Base Level Textures (Tỷ lệ phần trăm hoạ tiết không phải cấp cơ sở) | Tỷ lệ phần trăm số lần tìm nạp hoạ tiết là mipmap. |
% Bộ lọc không đẳng hướng | Tỷ lệ phần trăm texel được lọc không đẳng hướng. |
Bộ đếm ARM Mali
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ả |
---|---|
Số lần đọc kết cấu từ bộ nhớ ngoài | Các nhịp dữ liệu được đọc từ bộ nhớ ngoài bằng đơn vị kết cấu, được tính trung bình trên các lõi chương trình đổ bóng. |
Đọc kết cấu từ bộ nhớ đệm L2 | Số lượng dữ liệu đọc từ bộ nhớ đệm L2 theo đơn vị kết cấu, được tính 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.
Phân tích phản hồi
Để đo lường hành vi của các bộ đếm này, hãy đo băng thông trung bình và băng thông cao nhất trong một khung hình GPU duy nhất, sau đó phân định bằng một khối liên tục về Mức sử dụng GPU.

Bạn nên sử dụng băng thông đọc bộ nhớ kết cấu trung bình không quá 1 GB/giây và băng thông đỉnh không quá 3 GB/giây. Tỷ lệ lỗi bộ nhớ đệm L1 của hoạ tiết cũng không được cao hơn 10%. Giá trị băng thông hoặc bộ nhớ đệm L1 cao hơn có thể là dấu hiệu cho thấy các vấn đề sâu hơn về hoạ tiết, bao gồm:
- Các kết cấu có kích thước quá lớn: Các kết cấu lớn làm tăng kích thước gói, tốn kém hơn và có thể làm giảm hiệu quả của bộ nhớ đệm.
- Hoạ tiết không được nén: Tất cả điện thoại Android đều hỗ trợ một số loại nén hoạ tiết, cho dù đó là ETC1 hay ASTC. Bạn nên nén các kết cấu để giảm kích thước gói và giảm băng thông kết cấu.
- Khác: Bạn nên xem xét nhiều vấn đề khác về hoạ tiết, bao gồm hoạ tiết lũy thừa của 2, mipmapping, lọc không đẳng hướng và nhiều vấn đề khác. Một số vấn đề trong số này có thể được quan sát từ Hồ sơ hệ thống như thảo luận bên dưới, trong khi những vấn đề khác có thể cần được điều tra kỹ lưỡng hơn.
Đối với các trò chơi 3D có camera tự do, tài sản hoạ tiết nên sử dụng mipmapping để các đối tượng ở xa camera sẽ giảm băng thông bộ nhớ, tăng hiệu quả của bộ nhớ đệm hoạ tiết và cải thiện chất lượng hình ảnh. Đối với các thiết bị sử dụng GPU Qualcomm Adreno, các bộ đếm % Non-Base Level Textures (Kết cấu không phải cấp cơ sở) có giá trị trung bình thấp hơn 10% có thể cho thấy việc tạo mipmap không đầy đủ.

Một yếu tố khác cần cân nhắc là việc sử dụng phương pháp lọc dị hướng. Phương pháp này được mô tả bằng bộ đếm % Anisotropic Filtered (Tỷ lệ phần trăm lọc dị hướng) cho GPU Qualcomm Adreno để biết tỷ lệ texel được lọc dị hướng. Mặc dù có thể cải thiện chất lượng hình ảnh cho một số trò chơi, nhưng việc này cũng có thể rất tốn kém và bạn nên cân nhắc việc sử dụng tính năng này so với chi phí hiệu suất của GPU.

Cách tốt nhất để chẩn đoán các vấn đề cụ thể hơn là thông qua việc lấy dấu vết hồ sơ khung hình để phân tích các thành phần kết cấu.