Spec-Zone.ru › Web APIs

VRFrameData: свойство timestamp

Устаревшее: Эта функция больше не рекомендуется. Хотя некоторые браузеры могут её поддерживать, она, возможно, уже удалена из соответствующих веб-стандартов, может быть в процессе удаления или поддерживается только для совместимости. Избегайте её использования и, при возможности, обновите существующий код; см. таблицу совместимости в конце этой страницы для принятия решения. Помните, что эта функция может перестать работать в любое время.

Нестандартная: Эта функция нестандартна и не входит в состав стандартов. Не используйте её на производственных сайтах, ориентированных на веб: она не будет работать для каждого пользователя. Также могут быть значительные несовместимости между реализациями, и поведение может измениться в будущем.

Чтение-только свойство timestamp интерфейса VRFrameData возвращает постоянно увеличивающееся значение отметки времени, представляющее момент обновления кадра.

Примечание: Это свойство входило в состав старого API WebVR. Оно было заменено WebXR Device API.

Отметки времени полезны для определения, были ли обновлены данные о состоянии положения из аппаратного обеспечения. Поскольку значения монотонно возрастают, их можно сравнивать для определения порядка обновлений — новые значения всегда будут больше или равны старым значениям.

Отметка времени начинается с 0 в первый раз, когда VRDisplay.getFrameData() вызывается для заданного VRDisplay.

Значение

Объект DOMHighResTimeStamp.

Примеры

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();
}

Спецификации

Это свойство входило в состав старого API WebVR, которое было заменено WebXR Device API. Оно больше не входит в план стандартизации.

До тех пор, пока все браузеры не реализуют новые WebXR API, рекомендуется полагаться на фреймворки, такие как A-Frame, Babylon.js или Three.js, или полифил, для разработки приложений WebXR, которые будут работать во всех браузерах. Прочитайте руководство Meta's Porting from WebVR to WebXR для получения дополнительной информации.

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
timestamp Нет 15–79 98
64–98Поддержка macOS была включена в Firefox 64.
55–98Поддержка Windows была включена в Firefox 55.
Нет Нет Нет 55–98 Нет Нет
6.0Google Cardboard поддерживается в Samsung Internet 7.0.
Нет

См. также

  • WebVR API

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/VRFrameData/timestamp

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API