GPUAdapter: requestAdapterInfo() 方法
已弃用:此功能不再推荐使用。尽管某些浏览器可能仍然支持它,但它可能已从相关的 Web 标准中删除,或者正在被删除,或者仅出于兼容性目的而保留。避免使用它,并尽可能更新现有代码;请参阅本页面底部的兼容性表格以指导您的决策。请注意,此功能可能随时停止工作。
非标准:此功能是非标准的,并且不在标准轨道上。不要在面向 Web 的生产站点上使用它:它不会对每个用户都起作用。实现之间也可能存在很大的不兼容性,并且行为可能会在将来发生变化。
requestAdapterInfo()
是GPUAdapter
接口的一个方法,它返回一个Promise
,该Promise 会解析为一个GPUAdapterInfo
对象,其中包含有关适配器的识别信息。
此方法的目的是允许开发者请求用户GPU的特定详细信息,以便他们可以预先应用针对GPU特定错误的解决方法,或提供不同的代码路径以更好地适应不同的GPU架构。提供此类信息确实存在安全风险——它可能被用于指纹识别——因此共享的信息应保持在最低限度,并且不同的浏览器供应商可能会共享不同的信息类型和粒度。
注意:规范中包含一个用于requestAdapterInfo()
的unmaskHints
参数,旨在缓解上述安全风险。一旦得到支持,开发者将能够指定他们真正需要了解的值,并且当调用此方法时,用户将收到一个权限提示,询问他们是否同意共享此信息。如果权限提示保护了这些信息,浏览器供应商可能会共享更多有用的信息,因为它使得该方法成为指纹识别的目标的可能性降低。
语法
requestAdapterInfo()
参数
无。
返回值
一个Promise
,它会解析为一个GPUAdapterInfo
对象实例。
示例
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 adapterInfo = await adapter.requestAdapterInfo();
console.log(adapterInfo.vendor);
console.log(adapterInfo.architecture);
// ...
}
规范
未找到规范
未找到api.GPUAdapter.requestAdapterInfo
的规范数据。
检查此页面是否存在问题或为其贡献缺少的spec_url
到 mdn/browser-compat-data。同时确保规范包含在 w3c/browser-specs.
浏览器兼容性
BCD 表格仅在浏览器中加载
另请参阅
- The WebGPU API