Unity cung cấp nhiều công cụ và API liên quan đến hiệu suất. Sử dụng các công cụ này để đo lường và theo dõi các chỉ số hiệu suất, chỉ định tốc độ làm mới màn hình và phân tích cách cảnh của bạn được kết xuất từng khung hình.
Đo lường và theo dõi các chỉ số hiệu suất
Gói Unity OpenXR: Android XR cung cấp cho bạn dữ liệu hiệu suất toàn diện mà bạn có thể dùng để theo dõi và tối ưu hoá ứng dụng.
Bạn có thể truy cập vào các chỉ số này thông qua Performance Metrics API (API Chỉ số hiệu suất).
Lợi ích
- Giám sát mức sử dụng bộ nhớ, hiệu suất CPU và GPU theo thời gian thực.
- Số liệu thống kê hệ thống từ các lớp trình kết hợp và thời gian chạy.
- Đo lường tác động của các thay đổi về việc tối ưu hoá.
Để có kết quả tốt nhất, hãy chủ động theo dõi các chỉ số này trong khi làm việc trên ứng dụng và điều chỉnh hiệu suất:
AndroidXRPerformanceMetrics androidXRPerformanceMetrics = OpenXRSettings.Instance.GetFeature<AndroidXRPerformanceMetrics>();
string values = "";
if (m_Display != null && androidXRPerformanceMetrics != null && androidXRPerformanceMetrics.supportedMetricPaths != null)
foreach (var metric in androidXRPerformanceMetrics.supportedMetricPaths)
{
float stat;
XRStats.TryGetStat(m_Display, metric, out stat);
values += string.Format("{0}: {1:F2}\n", metric, stat);
}
Chỉ định tốc độ làm mới màn hình
Tốc độ làm mới màn hình cho phép ứng dụng của bạn yêu cầu tốc độ khung hình cao hơn hoặc thấp hơn từ thời gian chạy, mà hệ thống sẽ cố gắng đáp ứng.
Lợi ích
- Điều chỉnh tốc độ làm mới dựa trên độ phức tạp của cảnh.
- Tối ưu hoá mức tiêu thụ điện năng trong các cảnh sáng.
- Thích ứng linh hoạt với nhu cầu của ứng dụng.
Bật tính năng này
Sử dụng Unity API để truy cập vào tiện ích XR_FB_display_refresh_rate
.
Bạn có thể yêu cầu tốc độ khung hình như 72 khung hình/giây, 90 khung hình/giây hoặc 120 khung hình/giây, sau đó hệ thống sẽ chuyển sang tốc độ bạn yêu cầu nếu phần cứng có thể xử lý và điều kiện nhiệt độ cho phép.
Bật Trình gỡ lỗi khung của Unity
Trình gỡ lỗi khung hình là công cụ tích hợp của Unity để phân tích cách cảnh của bạn được kết xuất từng khung hình. Công cụ này cho bạn biết trình tự của các lệnh gọi vẽ và cho phép bạn thực hiện từng bước để hiểu hành vi kết xuất.
Lợi ích
- Xác định các điểm tắc nghẽn khi kết xuất và các lệnh gọi vẽ không mong muốn.
- Xác minh rằng SRP Batcher đang hoạt động chính xác (tìm các mục "RenderLoopNewBatcher").
- Kiểm tra việc phân lô GPU Resident Drawer (tìm các mục "Hybrid Batch Group").
- Tìm hiểu thứ tự của các thao tác kết xuất.
Bật tính năng này
- Trong trình đơn chính của Unity, hãy nhấp vào Window > Analysis > Frame Debugger (Cửa sổ > Phân tích > Trình gỡ lỗi khung hình).
- Nhấp vào Bật để bắt đầu ghi lại dữ liệu khung hình.
- Thực hiện từng bước thông qua các lệnh gọi vẽ để xem nội dung nào đang được kết xuất và thời điểm kết xuất.