GPUAdapterInfo

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Note: This feature is available in Web Workers.

Giao diện GPUAdapterInfo của WebGPU API chứa thông tin nhận dạng về một GPUAdapter.

GPUAdapterInfo của một adapter có thể được truy xuất thông qua thuộc tính GPUAdapter.info của chính adapter đó, hoặc thuộc tính GPUDevice.adapterInfo của một thiết bị bắt nguồn từ adapter.

Đối tượng này cho phép các nhà phát triển truy cập thông tin cụ thể về GPU của người dùng để họ có thể chủ động áp dụng các biện pháp khắc phục lỗi dành riêng cho GPU, hoặc cung cấp các đường dẫn code khác nhau phù hợp hơn với các kiến trúc GPU khác nhau. Việc cung cấp thông tin như vậy tạo ra rủi ro bảo mật vì có thể được dùng để lấy dấu vân tay (fingerprinting), vì vậy thông tin được chia sẻ được giữ ở mức tối thiểu, và các nhà cung cấp trình duyệt khác nhau có thể chia sẻ các loại thông tin và mức độ chi tiết khác nhau.

Thuộc tính phiên bản

architecture Read only

Tên của họ hoặc lớp GPU mà adapter thuộc về. Trả về chuỗi rỗng nếu không có sẵn.

description Read only

Một chuỗi mô tả adapter có thể đọc được bởi con người. Trả về chuỗi rỗng nếu không có sẵn.

device Read only

Mã định danh dành riêng cho nhà cung cấp của adapter. Trả về chuỗi rỗng nếu không có sẵn.

isFallbackAdapter Read only

Một giá trị boolean. Trả về true nếu adapter là fallback adapter, và false nếu không phải.

subgroupMaxSize Read only

Kích thước subgroup tối đa được hỗ trợ cho GPUAdapter.

subgroupMinSize Read only

Kích thước subgroup tối thiểu được hỗ trợ cho GPUAdapter.

vendor Read only

Tên của nhà cung cấp adapter. Trả về chuỗi rỗng nếu không có sẵn.

Ví dụ

Truy cập GPUAdapterInfo qua GPUAdapter.info

js
const adapter = await navigator.gpu.requestAdapter();
if (!adapter) {
  throw Error("Couldn't request WebGPU adapter.");
}

const adapterInfo = adapter.info;
console.log(adapterInfo.vendor);
console.log(adapterInfo.architecture);

Truy cập GPUAdapterInfo qua GPUDevice.adapterInfo

js
const adapter = await navigator.gpu.requestAdapter();
if (!adapter) {
  throw Error("Couldn't request WebGPU adapter.");
}

const myDevice = await adapter.requestDevice();

function optimizeForGpuDevice(device) {
  if (device.adapterInfo.vendor === "amd") {
    // Use AMD-specific optimizations
  } else if (device.adapterInfo.architecture.includes("turing")) {
    // Optimize for NVIDIA Turing architecture
  }
}

optimizeForGpuDevice(myDevice);

Thông số kỹ thuật

Specification
WebGPU
# gpuadapterinfo

Tương thích trình duyệt

Xem thêm