乐趣区

关于前端:webgl未使用独立显卡报告

0x00 楔子

最近客户在应用咱们的的三维可视化平台的时候,总是会呈现浏览器解体,webgl context lost 的状况。这种请个别呈现在电脑配置很低的电脑上,比方没有独显,只有很小现存的集成显卡的电脑。

然而客户的电脑大部分都是配置还不错,有独立的显卡。

通过摸索和剖析,最终发现了问题所在:就是电脑基本没有用上独立显卡,也就是说尽管硬件上有独立显卡,然而实际上三维程序还是用的集成显卡,导致跑不动三维程序。

如何判断三维程序是否用上了独立显卡呢,其实咱们能够关上电脑的工作管理器,关上 ” 性能 ” 标签, 个别能够看到两个 GPU(Intel 结尾的是集成显卡,NVIDIA 结尾的是独立显卡)

从图中,能够看出 GPU0(集显)使用率搞到 88%,而 GPU1(独显)使用率却未 0,示意三维应用程序未应用独显。

0x01 起因探索

通过测试,发现电脑不应用独立显卡的起因大略分为几类:

驱动未正确装置

独立显卡的驱动未装置,或者显卡的驱动未正确装置,导致电脑的独立显卡不能应用。能够通过电脑的设施管理器查看是否又独立显卡的适配器,如果没有,多半是未有装置显卡驱动。

显示器未接独立显卡

如果是台式机接主板自带的 VGA/DVI/HDMI 都是核显负责输入和运算,不接独显的接口不能施展任何作用。反之,接了独显,那么 CPU 核显也会主动屏蔽不发挥作用。典型的例子就是你接了独显,比方 N 卡,只会有一个 NVIDIA 控制面板,而不会再呈现一个英特尔核芯显卡管制界面。

如果是笔记本的话,个别带 DP 接口的肯定是独显接口,其余接口如 HDMI,VGA 都是核显输入,然而笔记本硬性规定都是核显负责画面输入,独显负责须要运行的 3D 应用程序,这是英特尔强制规定的,所以笔记本除了有 N 卡独显的 NVIDIA 控制面板以外,还会有英特尔核芯显卡控制面板。值得注意的是,在 6 代当前的笔记本,有些 bios 提供了屏蔽核显的选项,有些是能够容许自在切换,或者一些超高端的笔记本,显卡为 1070,1080 甚至 1080 SLI 的,间接出厂就屏蔽了核显,没有这个核显的须要。测试都表明,核显在 1070 以上的笔记本机型,某些优化不到位的游戏会连累独显性能,导致帧数降落,整体也比独自运行独显帧数要稍低。

程序指定应用集显

笔记本电脑,电脑能够同时应用集显和独显。
关上电脑 NVIDIA 控制面板,能够指定程序应用独显还是集显,如下图所示:

如果指定了浏览器,比方 chrome 应用集成显卡,那么 webgl 也不会用到独立显卡。

0x02 如何解决

其实看了后面的“起因探索”,能够很不便的给出相应的解决方案。

如果未装置显卡驱动,就装置显卡驱动即可。装置的时候,须要留神抉择正确的版本。
如果是台式机,查看显示器接头是否接在独立显卡的接口上,如果接在集成显卡的接口上,扭转接口即可。
如果是程序指定了集显,改成应用独显即可。

过程不在详述。

0x03 结语

如果发现电脑配置不错,然而简略的三维利用很卡,多半是上述起因。

如果对可视化感兴趣,能够和我交换,微信 541002349。
关注公号“ITMan 彪叔”能够及时收到更多有价值的文章。

退出移动版