返回知识库

网页 3D · 底座与选型

WebGLWebGL

WebGL 是浏览器调用显卡画 3D 的底座。不是每台设备都能用,用着用着也可能丢失,所以 3D 页面必须写好降级和恢复。

给一张 3D 商品卡跑三项验收

面板顶部已经检测出你这台设备的 WebGL 情况。下面的音箱是真的在用你的显卡渲染。先换成「关了硬件加速的旧电脑」,再模拟「显卡被回收」,看同一张商品卡会怎样;然后勾上「写了降级与恢复」重跑,让三行验收都变成通过。

本机检测检测中…

正在按需加载 3D 引擎(three.js)…

智能音箱 Halo¥ 899
1. 换一台设备打开
2. 用着用着出事
验收记录(0/3 通过)
有显卡的电脑:3D 正常显示未测
没有 WebGL:不白屏,有静态图未测
上下文丢失:能提示并恢复未测

正在按需加载 three.js……

知识点:底座会缺席,页面不能跟着倒

刚才商品卡上出现过的几种结果,对应下面四件事。

  • WebGL 是浏览器调用显卡(GPU)画图的接口;three.js、Babylon.js、Spline 导出的网页都建立在它上面。
  • 不支持 WebGL 的情况真实存在:关闭硬件加速、远程桌面、老旧显卡驱动、部分企业浏览器策略。
  • 运行中还会「上下文丢失」:切后台太久、驱动重置、同时开了太多 3D 页面,画面会冻住或变黑。
  • 降级只替换 3D 区域:价格、文案和主按钮不能依赖 WebGL 才渲染出来。

什么时候用、怎么验收

只要页面里有 three.js、Spline 或任何 canvas 3D,就要把降级写进需求。

  • 信号:AI 的报告里出现 WebGLRenderer、canvas、three,或你的页面要放 3D 模型、3D 地球、3D 背景。
  • 验收一:在浏览器设置里关闭「使用硬件加速」后重开页面,应看到静态图和说明,而不是白屏。
  • 验收二:Chrome 地址栏打开 chrome://gpu,能看到 WebGL 是否被禁用;手机上用一台旧机器真机打开。
  • 验收三:让 AI 加一个调试按钮或在控制台触发上下文丢失,确认页面会提示并能恢复。
  • 不适用:纯装饰的 3D 背景可以直接隐藏不显示,但仍不能让报错打断整页。

正反例:同一个 3D 商品页

需求只差一句话,旧电脑用户看到的完全不同。

反例「首页加个酷炫的 3D 效果」

AI 只写了正常路径。关了硬件加速的电脑上渲染器创建失败,报错让整块商品卡白屏,用户连价格都看不到。

正例「先检测 WebGL,不支持就换静态图;监听上下文丢失并给恢复按钮」

同一台旧电脑看到产品图和一句说明,照样能下单;显卡被回收时画面暂停,点一下就恢复。

快速自测

同事说:「你的 3D 产品页在我公司电脑上整页空白,别的网站都正常。」最先该让 AI 检查什么?

继续查证

术语的技术定义和行为以这些一手或权威资料为准。

下一步学

和本知识点经常一起出现的概念。

看看真实的项目蓝图里,WebGL是怎么被用上的。