Name String

XR_ANDROID_recommended_resolution

Loại tiện ích

Phần mở rộng thực thể

Số máy lẻ đã đăng ký

462

Bản sửa đổi

1

Trạng thái phê chuẩn

Chưa được phê chuẩn

Phần phụ thuộc của tiện ích và phiên bản

OpenXR 1.0

Trạng thái IP

Không có tuyên bố nào về tài sản trí tuệ.

Cộng tác viên

Trevor Debrechtabel, Google
Spencer Quin, Google
Lachlan Ford, Google
Vasiliy Baranov, Google

Tổng quan

Tiện ích này cho phép thời gian chạy thông báo cho ứng dụng khi độ phân giải được đề xuất thay đổi, dựa trên hiệu suất hiện tại của hệ thống, nhiệt độ của thiết bị hoặc các yếu tố khác.

Tiện ích này sửa đổi quy cách theo cách sau:

  • Thời gian chạy có thể trả về nội dung vùng đệm không giống nhau từ lệnh liệt kê xrEnumerateViewConfigurationViews cho systemId và viewConfigurationType đã cho trong suốt thời gian hoạt động của thực thể.

Cấu trúc XrEventDataRecommendedResolutionChangedANDROID được định nghĩa như sau:

typedef struct XrEventDataRecommendedResolutionChangedANDROID {
    XrStructureType    type;
    const void*        next;
} XrEventDataRecommendedResolutionChangedANDROID;

Nội dung mô tả về thành viên

  • type là XrStructureType của cấu trúc này.
  • next là NULL hoặc con trỏ trỏ đến cấu trúc tiếp theo trong chuỗi cấu trúc. Không có cấu trúc nào như vậy được xác định trong OpenXR cốt lõi hoặc tiện ích này.

Khi nhận được cấu trúc sự kiện XrEventDataRecommendedResolutionChangedANDROID, điều đó có nghĩa là độ phân giải đề xuất đã thay đổi. Ứng dụng nên truy vấn thời gian chạy để biết độ phân giải mới được đề xuất bằng cách sử dụng xrEnumerateViewConfigurationViews .

Cách sử dụng hợp lệ (Ngầm ẩn)

Mã ví dụ

Mã ví dụ sau đây minh hoạ cách theo dõi các sự kiện thay đổi độ phân giải được đề xuất.

// Created at app startup time.
XrInstance instance;
XrSystemId systemId; // Previously initialized.
uint32_t viewCountOutput; // Previously initialized.

// View configuration type the application uses.
XrViewConfigurationType viewConfigType;

// Poll events for recommended resolution changes.
XrEventDataBuffer event = {
  .type = XR_TYPE_EVENT_DATA_BUFFER,
};
XrResult result = xrPollEvent(instance, &event);
if (result == XR_SUCCESS) {
  switch (event.type) {
    case XR_TYPE_EVENT_DATA_RECOMMENDED_RESOLUTION_CHANGED_ANDROID: {
        uint32_t viewCapacityInput = viewCountOutput;
        std::vector<XrViewConfigurationView> views(viewCapacityInput);
        result = xrEnumerateViewConfigurationViews(instance, systemId,
          viewConfigType, viewCapacityInput, &viewCountOutput, views.data());
        if(!XR_SUCCEEDED(result)) {
          // Handle error
        }

        // New recommended resolution is found in
        // views.recommendedImageRectWidth and views.recommendedImageRectHeight
        // Change the resolution for the viewConfigType
      break;
    }
    default:
      break;
  }
}

Danh sách phiên bản

  • Bản sửa đổi 1, ngày 4 tháng 4 năm 2025 (Kenny Vercaemer)

    • Nội dung mô tả ban đầu về tiện ích