GPUAdapterInfo
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Contexto seguro: Esta función está disponible solo en contextos seguros (HTTPS), en algunos o todos los navegadores que lo soportan.
Nota: Esta característica está disponible en Web Workers.
La interfaz GPUAdapterInfo
de la API de WebGPU contiene información identificativa sobre un GPUAdapter
.
La GPUAdapterInfo
de un adaptador se puede obtener usando la propiedad GPUAdapter.info
del propio adaptador, o la propiedad GPUDevice.adapterInfo
de un dispositivo originado del adaptador.
Este objeto permite a los desarrolladores acceder a detalles específicos de la GPU del usuario para que puedan aplicar soluciones alternativas de forma preventiva o proporcionar diferentes rutas de código para adaptarse mejor a diferentes arquitecturas de GPU. Proporcionar esa información presenta un riesgo de seguridad —se podría usar para obtener huellas digitales— y, por lo tanto, el intercambio de información se mantiene al mínimo, y es probable que los diferentes proveedores de los navegadores compartan distintos tipos de información y granularidades.
Propiedades de la instancia
architecture
Read only-
El nombre de la familia o clase de GPU a la que pertenece el adaptador. Devuelve una cadena de texto vacía si no está disponible.
description
Read only-
Una cadena de texto legible para humanos describiendo el adaptador. Devuelve una cadena de texto vacía si no está disponible.
device
Read only-
Un identificador específico del proveedor para el adaptador. Devuelve una cadena de texto vacía si no está disponible.
vendor
Read only-
El nombre del proveedor del adaptador. Devuelve una cadena de texto vacía si no está disponible.
subgroupMaxSize
Read only-
El tamaño máximo de subgrupo soportado por el
GPUAdapter
. subgroupMinSize
Read only-
El tamaño mínimo de subgrupo soportado por el
GPUAdapter
.
Ejemplos
Acceder a GPUAdapterInfo a través de GPUAdapter.info
const adapter = await navigator.gpu.requestAdapter();
if (!adapter) {
throw Error("No se pudo solicitar un adaptador de WebGPU.");
}
const adapterInfo = adapter.info;
console.log(adapterInfo.vendor);
console.log(adapterInfo.architecture);
Access GPUAdapterInfo via GPUDevice.adapterInfo
const adapter = await navigator.gpu.requestAdapter();
if (!adapter) {
throw Error("No se pudo solicitar un adaptador de WebGPU.");
}
const myDevice = await adapter.requestDevice();
function optimizeForGpuDevice(device) {
if (device.adapterInfo.vendor === "amd") {
// Usa optimizaciones específicas de AMD
} else if (device.adapterInfo.architecture.includes("turing")) {
// Optimiza para la arquitectura NVIDIA Turing
}
}
optimizeForGpuDevice(myDevice);
Especificaciones
Specification |
---|
WebGPU # gpuadapterinfo |
Compatibilidad con navegadores
Loading…