VRFrameData:timestamp 属性
已弃用: 不推荐使用此功能。尽管某些浏览器可能仍然支持它,但它可能已从相关的 Web 标准中删除,或者正在被弃用,或者仅出于兼容性目的而保留。避免使用它,如果可能,请更新现有代码;请参阅此页面底部的 兼容性表 以指导您的决策。请注意,此功能可能随时停止工作。
非标准: 此功能是非标准的,并且不在标准轨道上。请勿在面向 Web 的生产站点上使用它:它不会对每个用户都有效。实现之间也可能存在很大的不兼容性,并且行为将来可能会发生变化。
timestamp
是 VRFrameData
接口的只读属性,它返回一个不断增加的时间戳值,表示帧更新发生的时间。
注意: 此属性是旧版 WebVR API 的一部分。它已被 WebXR 设备 API 取代。
时间戳对于确定硬件是否已更新位置状态数据很有用。由于值是单调递增的,因此可以比较它们以确定更新的顺序 - 新的值将始终大于或等于旧的值。
对于给定的 VRDisplay
,第一次调用 VRDisplay.getFrameData()
时,时间戳从 0 开始。
值
一个 DOMHighResTimeStamp
对象。
示例
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();
}
规范
此属性是旧版 WebVR API 的一部分,已被 WebXR 设备 API 取代。它不再有望成为标准。
在所有浏览器都实现新的 WebXR API 之前,建议依赖于框架(如 A-Frame、Babylon.js 或 Three.js)或 polyfill 来开发可在所有浏览器中运行的 WebXR 应用程序 [1]。
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。