WebGL 怎么又崩溃了
你又调皮了,又发一篇我不感兴趣的文章!
弁言
有一段时间,客户使用我们的三维平台时,总是出现浏览器崩溃,为了查清原因,让客户一直打开 devtool 和 任务管理器监控,然后静静的等待崩溃来临,此时,总会发现一串耀眼的红色提示:webgl content lost!同时伴随着gpu 进程重启...
这个问题,困扰着研发小朋友很长一段时间,那会儿一直给他强调,一定要在客户机器上把独立显卡设置配置正确! 同时也给内网部署文档里面出了一篇如何配置独立显卡的文档。可是,有时候,说是一回事,做又是另一回事。
思路
查看PC的显卡类型
上图图示,就是双显卡,既有独显又有集成显卡。
查看GPU情况:
打开电脑的任务管理器,切换至性能,即可看见 GPU0 和 GPU1,分别对应所属显卡,此时,只需要观察使用情况,就可知晓当前3D配置。
下图是采用独立显卡访问3D应用。
代入
知晓了显卡问题,此时就可以代入到具体的故障分析中,后经多次查验,发现客户的 GT2030 显卡,因驱动未正常安装导致无法识别,所有的应用均采用的集成显卡!这不仅导致了硬件的浪费,也让客户觉得我们的平台不靠谱。所以,很多时候,基础环境一定要确保无误!
电脑不使用独显的原因分析:
驱动未正常安装(硬伤)
显示器未接独显插槽(台式机)
应用程序未指定使用独显(傻了吧唧)
台式机,如果多个屏幕,全部接到独显插槽,那么将自动屏蔽集显,如下图:
针对以上问题,做个简单解决方案,以及故障查询思路:
如果发现电脑配置很好,但是简单的3D应用,都奇卡无比,此时,多半是上述问题。如果是显卡驱动未装,安装即可(官网、驱动人生、驱动精灵),如果是台式机,检查显示器接头,确保插在独立显卡的接口上!最后一步,确保程序采用独显!
延伸
3D显卡配置基本步骤:
早期版本的独立显卡
步骤一:
步骤二:
步骤三:
步骤四:
新版本独立显卡
步骤一:
电脑桌面,空白处右键,选择 NVIDIA 控制面板
步骤二:
点击3D设置中的 通过预览调整图像设置,在右侧界面中选中 使用 “高级3D图像设置”
步骤三:
点击管理3D设置,全局设置中,给 OpenGL 渲染GPU 设置为独立显卡
步骤四:
在程序设置中,给目标程序,如 浏览器,设置指定的 GPU渲染
当然,这些最基本的障碍扫清以后,客户打开你的三维平台,依然卡,依然崩溃,那么,你是不是要考虑优化一下你的3D代码?
比如,增加闲时管理,比如精简模型,比如按需加载,比如纹理图集、纹理压缩,比如多线程,比如......