GPUAdapter: features property
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.
Thuộc tính chỉ đọc features của giao diện GPUAdapter trả về một đối tượng GPUSupportedFeatures mô tả các chức năng bổ sung được bộ điều hợp hỗ trợ.
Cần lưu ý rằng không phải tất cả các tính năng đều có sẵn cho WebGPU trong tất cả các trình duyệt hỗ trợ nó, ngay cả khi các tính năng đó được phần cứng cơ bản hỗ trợ. Điều này có thể do các ràng buộc trong hệ thống cơ bản, trình duyệt hoặc bộ điều hợp. Ví dụ:
- Hệ thống cơ bản có thể không đảm bảo được việc hiển thị tính năng theo cách tương thích với một trình duyệt nhất định.
- Nhà cung cấp trình duyệt có thể chưa tìm ra cách triển khai hỗ trợ cho tính năng đó một cách an toàn, hoặc chưa kịp thực hiện.
Nếu bạn muốn tận dụng một tính năng bổ sung cụ thể trong ứng dụng WebGPU, nên thực hiện kiểm tra kỹ lưỡng.
Giá trị
Một phiên bản đối tượng GPUSupportedFeatures. Đây là đối tượng dạng setlike.
Ví dụ
Trong đoạn mã dưới đây, chúng ta kiểm tra xem GPUAdapter có tính năng texture-compression-astc hay không. Nếu có, chúng ta thêm nó vào mảng requiredFeatures và yêu cầu thiết bị với yêu cầu tính năng đó bằng GPUAdapter.requestDevice().
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,
});
// …
}
Thông số kỹ thuật
| Specification |
|---|
| WebGPU> # dom-gpuadapter-features> |