疑难解答
WebGPU 不可用,无法加载 3D 皮肤预览。
Aphanite 使用我们用 WebGPU 编写的超轻量 3D 皮肤预览器来渲染 3D 皮肤预览。得益于我们直接和 WebGPU API 与 WGSL 着色器交互,该库在您浏览器中仅会带来约 13KB 的加载负载。
WebGPU 是什么?
WebGPU 是现代浏览器中的底层图形 API,能让网页更高效地利用 GPU 硬件,呈现高性能 3D 图形和计算任务。它是 WebGL 的下一代替代者。
然而,WebGPU 是一个相对较新而且较底层的 API,即使现在距离它公布已经过去了近 9 年,它仍然被视为实验性的 API,且未进入基线。
浏览器支持情况
下面只是概况,具体请参考 MDN 文档中的兼容性表格。
| 浏览器 | 支持状态 |
|---|---|
| Chromium 113+ (Windows/macOS) | 完全支持 |
| Chromium 144+ (Linux) | 非 Intel 12 代以上 GPU 的设备需手动开启 |
| Firefox 147+ | Intel Mac 和 Linux 需手动开启 |
| Firefox (Android) | 不支持 |
| 其余手机浏览器 | 完全支持 |
看样子我的浏览器支持,但它仍然报错?
极有可能是因为您没有通过安全上下文访问 Aphanite,或者可以简单地理解为非 HTTPS。
- 如果您是用户,在其他人给您的链接里看到了这一报错,请告诉给您链接的那个人,让 TA 配置 HTTPS。
- 如果您正在部署和测试 Aphanite,请确保您的 Aphanite 实例配置了反向代理。
- 如果您正在开发 Aphanite,请确保您是通过本机回环网卡(
localhost、127.0.0.1或[::1])访问的。
手动启用 WebGPU
对于使用 Linux,且非 Intel Xe 显卡的 Chrome 用户,以及较老版本的 Firefox 用户而言,WebGPU 功能在浏览器中存在,但是默认没有启用,需要手动打开。
Chrome Linux
- 在地址栏输入
chrome://flags/#force-enable-webgpu-interop。 - 将选项从
Default改为Enabled。 - 重启浏览器查看效果。
- 如果还是没有用,或许还需要启用
chrome://flags/#enable-unsafe-webgpu。
Firefox
- 在地址栏中输入
about:config。 - 搜索
dom.webgpu.enabled。 - 将其设为
true。 - 重启浏览器。
如果以上操作后仍不可用,有可能是因为您的 GPU 硬件或驱动版本不满足要求。