GPUAdapter: limits 屬性
注意:此功能在 Web Workers 中可用。
GPUAdapter 介面的只讀屬性 limits 返回一個 GPUSupportedLimits 物件,該物件描述了介面卡支援的限制。
您應該注意,瀏覽器不會報告每個 GPU 的確切限制,而是可能會報告不同限制的不同層級值,以減少可用於驅動式指紋識別的唯一資訊。例如,某個限制的層級可能是 2048、8192 和 32768。如果您的 GPU 的實際限制是 16384,瀏覽器仍將報告 8192。
鑑於不同瀏覽器對此的處理方式不同,並且層級值可能會隨時間變化,因此很難提供關於預期限制值的準確說明——建議進行徹底的測試。
值
一個 GPUSupportedLimits 物件例項。
示例
在下面的程式碼中,我們查詢 GPUAdapter.limits 值的 maxBindGroups,看它是否等於或大於 6。我們的理論示例應用程式理想情況下需要 6 個繫結組,因此如果返回值為 >= 6,我們將 6 新增到 requiredLimits 物件作為最大限制,並使用 GPUAdapter.requestDevice() 請求一個具有該限制要求的裝置。
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,
});
// …
}
規範
| 規範 |
|---|
| WebGPU # dom-gpuadapter-limits |
瀏覽器相容性
載入中…