GPUDevice: limits 属性
limits
属性是 GPUDevice
接口的只读属性,它返回一个 GPUSupportedLimits
对象,该对象描述了设备支持的限制。将包含所有限制值,并且在创建设备时请求的限制(即,在调用 GPUAdapter.requestDevice()
时)将反映在这些值中。
注意:即使底层硬件支持,也并非所有限制都会按预期报告。有关更多详细信息,请参阅 GPUAdapter.limits
。
值
一个 GPUSupportedLimits
对象实例。
示例
在下面的代码中,我们查询 GPUAdapter.limits
的 maxBindGroups
值,以查看它是否等于或大于 6。我们的理论示例应用程序理想情况下需要 6 个绑定组,因此如果返回的值 >= 6,我们将向 requiredLimits
对象添加一个最大限制 6。
然后,我们通过将该值记录到控制台来检查预期限制是否已在生成的设备上设置。
js
async function init() {
if (!navigator.gpu) {
throw Error("WebGPU not supported.");
}
const adapter = await navigator.gpu.requestAdapter();
if (!adapter) {
throw Error("Couldn't request WebGPU adapter.");
}
const requiredLimits = {};
// App ideally needs 6 bind groups, so we'll try to request what the app needs
if (adapter.limits.maxBindGroups >= 6) {
requiredLimits.maxBindGroups = 6;
}
const device = await adapter.requestDevice({
requiredLimits,
});
console.log(device.limits.maxBindGroups);
// ...
}
规范
规范 |
---|
WebGPU # dom-gpudevice-limits |
浏览器兼容性
BCD 表格仅在浏览器中加载
另请参阅
- The WebGPU API