VRFrameData: timestamp property

Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

Non-standard: This feature is not standardized. We do not recommend using non-standard features in production, as they have limited browser support, and may change or be removed. However, they can be a suitable alternative in specific cases where no standard option exists.

Thuộc tính chỉ đọc timestamp của giao diện VRFrameData trả về giá trị dấu thời gian tăng liên tục, đại diện cho thời điểm cập nhật khung hình xảy ra.

Note: Thuộc tính này là một phần của WebVR API cũ. Nó đã được thay thế bởi WebXR Device API.

Dấu thời gian hữu ích để xác định xem dữ liệu trạng thái vị trí có được cập nhật từ phần cứng hay không. Vì các giá trị tăng đơn điệu, chúng có thể được so sánh để xác định thứ tự cập nhật, các giá trị mới hơn sẽ luôn lớn hơn hoặc bằng các giá trị cũ hơn.

Dấu thời gian bắt đầu từ 0 khi VRDisplay.getFrameData() được gọi lần đầu tiên cho một VRDisplay nhất định.

Giá trị

Một đối tượng DOMHighResTimeStamp.

Ví dụ

js
const frameData = new VRFrameData();
let vrDisplay;

navigator.getVRDisplays().then((displays) => {
  vrDisplay = displays[0];
  console.log("Display found");
  // Starting the presentation when the button is clicked: It can only be called in response to a user gesture
  btn.addEventListener("click", () => {
    vrDisplay.requestPresent([{ source: canvas }]).then(() => {
      drawVRScene();
    });
  });
});

// WebVR: Draw the scene for the WebVR display.
function drawVRScene() {
  // WebVR: Request the next frame of the animation
  vrSceneFrame = vrDisplay.requestAnimationFrame(drawVRScene);

  // Populate frameData with the data of the next frame to display
  vrDisplay.getFrameData(frameData);

  // grab the current timestamp on each run of the rendering loop
  // and do something with it
  frameData.timestamp;

  // …

  // WebVR: Indicates that we are ready to present the rendered frame to the VR display
  vrDisplay.submitFrame();
}

Thông số kỹ thuật

Thuộc tính này là một phần của WebVR API cũ đã được thay thế bởi WebXR Device API. Nó không còn trên đường trở thành tiêu chuẩn.

Cho đến khi tất cả các trình duyệt triển khai các WebXR API mới, bạn nên dựa vào các framework như A-Frame, Babylon.js, hoặc Three.js, hoặc một polyfill, để phát triển ứng dụng WebXR hoạt động trên tất cả trình duyệt. Đọc hướng dẫn Porting from WebVR to WebXR của Meta để biết thêm thông tin.

Tương thích trình duyệt

Xem thêm