XRCompositionLayer: needsRedraw 属性

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

XRCompositionLayer 接口的只读 needsRedraw 属性是一个布尔值,用于指示该图层应在下一帧中重新渲染。

重新渲染的需求可能发生在图层的底层资源丢失时,例如纹理可能已被合成器在后台释放。当设备进入睡眠状态或浏览器切换上下文(例如切换到操作系统对话框等)然后返回时,可能会发生这种情况。

对于每一帧都更新的图层来说,重新渲染不是问题。但是,对于不频繁更新的图层,或静态图层(您只能在创建后或在 redraw 事件后绘制一次),图层的内容可能会丢失并需要重新绘制。如果图层的资源丢失,needsRedraw 属性将为 true,并且会在图层上触发一个 redraw 事件。

一个布尔值。true 表示下一帧需要重新渲染,false 表示不需要重新渲染。

示例

重新渲染图层

使用 needsRedraw 属性检查图层是否需要重新绘制,然后进行重绘。

js
function onXRFrame(time, frame) {
  // …

  if (quadLayer.needsRedraw) {
    // redraw the layer
  }
}

规范

规范
WebXR Layers API Level 1
# dom-xrcompositionlayer-needsredraw

浏览器兼容性

另见