指纹

WebGPU 适配器信息与用户隐私

了解 WebGPU 适配器代表什么、何时不可用,以及如何在不收集设备画像的情况下选择图形回退方案。

文档中心

想直接进入 指纹 文档吗?

这篇文章属于博客内容库。若你要步骤化配置、参考说明和持续更新,请直接进入对应 docs 分区。

WebGPU 让应用请求能够运行 WebGPU 设备的图形适配器。适配器是任务能力的边界,不是用户身份。它是否可用取决于浏览器、操作系统、图形栈、策略和当前资源。重视隐私的应用只询问选择可用体验所需的信息,并在请求失败时提供清晰的回退。

WebGPU 适配器请求、设备创建与可访问回退流程

适配器代表什么

W3C WebGPU 规范把适配器定义为代表物理或软件图形实现的对象,应用可据此创建设备。应用可以请求适配器,再按所需限制和特性请求设备;浏览器也可以不返回适配器。适配器不保证所有实现具有相同特性,也不保证设备一定能创建成功。

因此,适配器不同于完整的渲染器清单。应用应先确定可见目标,例如交互场景、计算任务或降低效果的模式。MDN 的 WebGPU API 参考介绍公开 API,但不代表所有浏览器都支持。关于能力检查与跟踪的区别,可参阅 WebGL 能力与隐私指南。

可用性与权限边界

只有在当前上下文中实现并允许 WebGPU 的浏览器,才会暴露 navigator.gpu。适配器请求可能失败或没有结果;即使拿到适配器,设备请求也可能因所需特性、限制或资源不可用而失败。应把这些视为正常的兼容性分支,而不是某个人或某台独特设备的证据。

W3C 规范定义 API 合同,浏览器文档说明各版本的可用性与限制。不要声称 WebGPU 普遍可用,也不要承诺适配器请求一定出现提示或返回稳定字段。产品应记录已测试的浏览器范围,并让不支持的路径仍然可用。

隐私友好的应用决策

使用能选择体验的最小决定。如果只需判断基础设备是否可用,就记录请求成功及所需特性是否满足。不要保存完整适配器描述,不要把图形信息与账户或网络数据合并,也不要把能力差异变成持久标识。会话内的决定通常足够;需要记住质量偏好时,应保存用户明确选择,而不是推断出的设备画像。

诊断有独立目的。支持人员确实需要更多信息时,应说明收集内容、限制访问并设定保留期限。默认不要要求用户提交适配器清单。跨表面浏览器隐私指南说明了多个普通信号合并后的隐私影响。

回退与可访问恢复

把必要内容和控件放在图形表面之外。适配器或设备创建失败时,提供降低效果的场景、静态图像、数据表或能完成同一任务的其他表示。切换时保留筛选条件和用户输入,并说明变化及下一步;不要留下空白画布或无限重试。

测试成功、无适配器、设备请求被拒、资源失败和后续上下文丢失。验收目标是可用状态,而不是详细解释用户硬件。名称、状态消息、键盘控件和等价信息应使用普通 HTML,保证回退可访问。WebGPU 指纹概览讨论另一类跟踪风险;本文只讨论正常应用能力决策。

围绕用户结果规划请求

请求前先定义用户任务和必需的视觉结果。

导航、账户和帮助应保留为普通 HTML 控件。

兼容性可分为标准、降低效果和静态替代模式。

缺少特性时停止探测无关字段并选择记录的低级模式。

让能力数据短期存在

会话内保存结果通常足够,结束时即可丢弃。

记住质量时保存用户选择,不保存适配器事实集合。

诊断事件应包含失败阶段和版本,不应包含原始适配器对象。

图形能力不能证明身份、位置、收入或其他敏感属性。

把失败路径当作产品行为

测试无 WebGPU、无适配器、缺少特性和设备拒绝等状态。

网络资源失败应与图形能力失败分开说明。

回退视图要保留筛选条件、状态和键盘控件。

用 W3C 与 MDN 记录已验证范围,不承诺普遍支持。

应用应在请求前准备页面结构。

降低效果模式仍应完成核心任务。

不要用硬件名称解释普通失败。

重试次数应有明确上限。

上下文丢失时保留页面状态。

动画关闭后仍要显示结果。

第三方库也要检查数据流。

缓存应有用途和期限。

管理员策略不应被要求关闭。

网络错误要有独立提示。

过期字段应从日志中删除。

发布前复核公开来源。

来源

#WebGPU#适配器#隐私#能力检测#回退

让 BotBrowser 从研究走向生产

先用这些指南理解模型,再进入跨平台验证、隔离上下文和面向规模化的浏览器部署。