Unity cung cấp một số tính năng liên quan đến hiệu suất dành riêng cho Android XR và yêu cầu gói Tiện ích Android XR. Bật các tính năng này để cải thiện tốc độ khung hình và giảm tải cho GPU thông qua tính năng spacewarp và lấy mẫu phụ Vulkan, đồng thời giảm độ trễ kết xuất được theo dõi bằng cách sử dụng tính năng chốt trễ.
Điều kiện tiên quyết
Trước khi làm theo hướng dẫn này, hãy đảm bảo bạn đã xác minh và hoàn tất các điều kiện tiên quyết sau:
- Hoàn thành tất cả các bước để thiết lập dự án trong Unity.
- Nhập gói Android XR Extensions for Unity.
Bật tính năng spacewarp
URP Application Spacewarp là một chế độ tối ưu hoá OpenXR giúp duy trì tốc độ khung hình cao bằng cách tổng hợp mọi khung hình khác. Kỹ thuật này sử dụng các vectơ chuyển động và dữ liệu độ sâu từ các khung hình trước để dự đoán vị trí mà các pixel sẽ di chuyển, giúp giảm sức mạnh tính toán và mức tiêu thụ năng lượng.
Lợi ích
- Giảm khối lượng công việc kết xuất GPU bằng cách tổng hợp các khung hình thay thế.
- Giảm đáng kể sức mạnh tính toán và mức tiêu thụ năng lượng.
- Sử dụng tính năng chiếu lại để giảm độ trễ giữa chuyển động của người dùng và nội dung cập nhật trên màn hình.
Bật tính năng này
- Trong trình đơn chính của Unity, hãy nhấp vào Edit > Project Settings (Chỉnh sửa > Cài đặt dự án).
- Mở rộng mục XR Plug-in Management (Quản lý trình bổ trợ XR).
- Chọn thẻ tương ứng với thiết bị thực tế mở rộng (XR) mà bạn đang dùng.
- Chuyển đến phần OpenXR Feature Groups (Nhóm tính năng OpenXR).
Trong phần Tất cả tính năng, hãy bật Application SpaceWarp.
Bật tính năng lấy mẫu phụ Vulkan
Tính năng Lấy mẫu phụ Vulkan cho phép tạo và lấy mẫu hình ảnh ở mật độ biến đổi bằng cách sử dụng Bản đồ mật độ mảnh. Tính năng này của Vulkan cho phép kết xuất và chuyển các vùng khác nhau trên màn hình vào bộ nhớ ở nhiều độ phân giải. Điều này đặc biệt hữu ích cho tính năng kết xuất tập trung, trong đó các vùng ngoại vi có thể sử dụng độ phân giải thấp hơn.
Lợi ích
- Mang lại mức cải thiện khác nhau khi kết hợp với tính năng kết xuất tập trung, tuỳ thuộc vào kiểu dáng thiết bị.
- Giảm hiện tượng răng cưa ở các khu vực ngoại vi thông qua bộ lọc song tuyến tính.
- Cho phép kết xuất tốc độ thay đổi hiệu quả trên nhiều vùng màn hình.
Bật tính năng này
- Trong trình đơn chính của Unity, hãy nhấp vào Edit > Project Settings (Chỉnh sửa > Cài đặt dự án).
- Mở rộng phần XR Plug-in Management (Quản lý trình bổ trợ XR), rồi nhấp vào OpenXR.
- Nhấp vào biểu tượng bánh răng bên cạnh Android XR (Tiện ích): Quản lý phiên.
Bật Giảm mẫu phụ (Vulkan).
Bật tính năng chốt muộn
Kết nối muộn là một kỹ thuật giúp giảm thiểu độ trễ giữa chuyển động thực tế của người dùng và thay đổi về hình ảnh trên màn hình. Việc này cho phép tư thế đầu được cập nhật muộn trong quy trình tạo khung hình, giúp cải thiện cả sự thoải mái và tốc độ khung hình cảm nhận của các ứng dụng XR. Tính năng này đạt được điều đó bằng cách giảm độ trễ đầu vào gần bằng toàn bộ thời gian khung hình.
Lợi ích
- Giảm đáng kể độ trễ từ Chuyển động đến Photon (MTP).
- Cải thiện sự thoải mái cho người dùng và giảm tình trạng chóng mặt khi di chuyển.
- Tăng cường độ ổn định và độ chính xác.
Bật tính năng này
Để bật tính năng liên kết muộn, hãy bật tính năng này trong thời gian chạy cho ứng dụng của bạn:
private XRDisplaySubsystem xrDisplay;
private XRDisplaySubsystem.LateLatchNode lateLatchNode = XRDisplaySubsystem.LateLatchNode.Head;
void Start()
{
List<XRDisplaySubsystem> xrDisplaySubsystems = new();
SubsystemManager.GetSubsystems(xrDisplaySubsystems);
if (xrDisplaySubsystems.Count >= 1)
{
xrDisplay = xrDisplaySubsystems[0];
}
}
void Update()
{
if (xrDisplay != null)
{
transform.position += new Vector3(Mathf.Epsilon, 0, 0);
Quaternion rot = transform.rotation;
rot.x += Mathf.Epsilon;
transform.rotation = rot;
xrDisplay.MarkTransformLateLatched(transform, lateLatchNode);
}
}