GPUCommandEncoder:writeTimestamp() 方法

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。

非标准:此特性未标准化。我们不建议在生产环境中使用非标准特性,因为它们浏览器支持有限,并且可能会更改或被移除。但是,在没有标准选项的特定情况下,它们可以是合适的替代方案。

注意:此功能在 Web Workers 中可用。

GPUCommandEncoder 接口的 writeTimestamp() 方法会编码一条命令,该命令会在由 GPU 执行完同一队列中的 GPUCommandBuffer 中已记录的先前命令后,将一个时间戳写入 GPUQuerySet

注意: 要使用时间戳查询,必须在 GPUDevice 中启用 timestamp-query 功能

语法

js
writeTimestamp(querySet, queryIndex)

参数

querySet

一个 GPUQuerySet 对象,表示将存储时间戳值的查询集。

queryIndex

一个数字,表示查询集 中查询的索引。

返回值

无 (Undefined)。

验证

调用 writeTimestamp() 时必须满足以下条件,否则将生成 GPUValidationError,并且 GPUCommandEncoder 将失效。

示例

js
// …

const querySet = device.createQuerySet({
  type: "timestamp",
  count: 32,
});

// …

commandEncoder.writeTimestamp(querySet, 0);

// …

规范

此特性似乎未在任何规范中定义。

浏览器兼容性

另见