GPUAdapter:features 屬性

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

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

GPUAdapter 介面的只讀屬性 features 返回一個 GPUSupportedFeatures 物件,該物件描述了介面卡支援的附加功能。

您應該注意,並非所有支援 WebGPU 的瀏覽器都能使用所有功能,即使這些功能得到了底層硬體的支援。這可能是由於底層系統、瀏覽器或介面卡的限制。例如:

  • 底層系統可能無法保證以與特定瀏覽器相容的方式公開某個功能。
  • 瀏覽器供應商可能尚未找到一種安全的方式來實現對該功能的支援,或者可能尚未開始著手實現。

如果您希望在 WebGPU 應用中利用某個特定的附加功能,我們建議進行徹底的測試。

一個 GPUSupportedFeatures 物件例項。這是一個 類似 Set 的物件。

示例

在以下程式碼中,我們檢查 GPUAdapter 是否具有 texture-compression-astc 功能。如果存在,我們將其新增到 requiredFeatures 陣列中,並使用 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 requiredFeatures = [];

  if (adapter.features.has("texture-compression-astc")) {
    requiredFeatures.push("texture-compression-astc");
  }

  const device = await adapter.requestDevice({
    requiredFeatures,
  });

  // …
}

規範

規範
WebGPU
# dom-gpuadapter-features

瀏覽器相容性

另見