GPUQuerySet
GPUQuerySet
是 WebGPU API 的一个接口,用于记录对传递(例如遮挡或时间戳查询)的查询结果。
- 遮挡查询可在渲染传递上使用,以查询是否有任何片段样本通过一组绘图命令的所有逐片段测试(包括剪切、样本掩码、alpha 到覆盖、模板和深度测试)。要运行遮挡查询,在调用
GPUCommandEncoder.beginRenderPass()
以运行渲染传递时,必须将适当的GPUQuerySet
作为occlusionQuerySet
描述符属性的值提供。 - 时间戳查询允许应用程序将时间戳写入
GPUQuerySet
。要运行时间戳查询,在调用GPUCommandEncoder.beginRenderPass()
以运行渲染传递或GPUCommandEncoder.beginComputePass()
以运行计算传递时,必须在timestampWrites
描述符属性的值内提供适当的GPUQuerySet
。或者,您可以随时通过调用GPUCommandEncoder.writeTimeStamp()
并将适当的GPUQuerySet
作为参数来运行单个时间戳查询。
可以使用 GPUDevice.createQuerySet()
方法创建 GPUQuerySet
对象实例。
实例属性
实例方法
destroy()
实验性-
销毁
GPUQuerySet
。
示例
以下代码片段创建了一个包含 32 个遮挡查询结果的GPUQuerySet
,然后返回type
和count
js
const querySet = device.createQuerySet({
type: "occlusion",
count: 32,
});
console.log(querySet.count); // 32
console.log(querySet.type); // "occlusion"
规范
规范 |
---|
WebGPU # gpuqueryset |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。
另请参阅
- The WebGPU API