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彪叔” 可以及时收到更多有价值的文章。
webgl未使用独立显卡报告的更多相关文章
- Windows 同一时候开启核心显卡与独立显卡(不接显示器启动核芯显卡)
採用Mp4视频压缩格式编码时,非常耗CPU.所以决定上显卡.进行显卡加速.选择了Intel核心显卡进行视频编码加速,效果非常理想.但如今的问题是:在PC上如何同一时候开启核心显卡与独立显卡.经过几番周 ...
- CentOS7下安装NVIDIA独立显卡驱动出现X service error问题解决方法
问题症状: 最近在CentOS7下安装NVIDIA独立显卡驱动的过程中出现X service error问题,如下图所示: 解决方法: 0.到NVIDIA 官网上下载驱动文件(.run 格式) : N ...
- DELLR720 独立显卡DVI转VGA问题
第一种情况:DELLR720默认不接独立显卡,直接用板载VGA输出,不需要调system blos 第二种情况:DELLR720接独立显卡,需要DVI输出,需要更改系统blos system blos ...
- 解决 Ubuntu 18.10 使用较新的独立显卡输出无法初始化图形界面并配置深度学习开发环境
原文地址:解决 Ubuntu 18.10 使用较新的独立显卡输出无法初始化图形界面并配置深度学习开发环境 0x00 配置 硬件 OS: Ubuntu 18.10 Base Board: ASUS WS ...
- ubuntu频繁死机--独立显卡问题
问题:笔记本安装ubuntu时以及装好后有时会出现花屏.死机的问题,系统报错 *ERROR* UVD not responding, trying to reset the VCPU!!! *ERRO ...
- manjaro 配置 独立显卡驱动
参考 https://blog.csdn.net/weixin_42205310/article/details/81905293 尝试多次 只有这篇配置成功. ①先解决依赖sudo pacman - ...
- 让游戏以高性能GPU(独立显卡)运行
在EXE中导出全局变量: N卡: extern "C" { __declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001 ...
- 游戏开发人员眼中的Unity 3D网页游戏測评报告
眼下.能够实现3D页游的主流技术有Silverlight.XNA.Flash.HTML5和Unity3D. 当中.Unity3D作为一款专注于3D游戏的浏览器插件.最近在国内外页游产品线骚动异常:本人 ...
- 学废了系列 - WebGL与Node.js中的Buffer
WebGL 和 Node.js 中都有 Buffer 的使用,简单对比记录一下两个完全不相干的领域中 Buffer 异同,加强记忆. Buffer 是用来存储二进制数据的「缓冲区」,其本身的定义和用途 ...
随机推荐
- 「SDWC2018 Day1」网格
题目当中有三条限制,我们来逐一考虑.对于第一条限制,每次走动的增加量 \(x_i \le M_x, y_i \le M_y\),可以发现一共走的步数是确定的,那么就相当于解这样两个方程组: \[x_1 ...
- Spring service本类中方法互相调用事物失效问题
简介 Spring事物利用的是AOP,动态代理采用CGLIB代理(默认,也可以用Proxy代理,但是Proxy代理效率低于CGLIB代理).故只要弄懂Spring的AOP实现,就知道为什么servic ...
- Java基础总结(二)
1.ArrayList和Vector的区别 这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的 ...
- SpringAOP/切面编程示例
原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11833954.html Spring AOP/切面编程实例和一些注意事项, 主要是利用注解来实 ...
- 鸟哥的Linux私房菜学习笔记——文件权限与目录配置
Linux的文件权限和目录配置 在linux中的每个用户必需属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念. (1)所有者 一般为文件的创建者,谁创建了该文件,就是天 ...
- sublime运行错误
这是由于没有保存文档导致 说明: [Finished in 19.4s with exit code 1]-表示执行时间 [shell_cmd: python3 -u "/Volum ...
- Spring 控制反转和依赖注入
控制反转的类型 控制反转(IOC)旨在提供一种更简单的机制,来设置组件的依赖项,并在整个生命周期管理这些依赖项.通常,控制反转可以分成两种子类型:依赖注入(DI)和依赖查找(DL),这些子类型各自又可 ...
- ESXI系统从0搭建流程
ESXI系统从0搭建流程 简单介绍 简单介绍:项目中使用到了这个系统,我自己不会搭建,但是请教别人之后自己成功搭建出来了此系统.所以在此记录一下搭建流程,希望能够帮助"零"小白. ...
- [LeetCode]771. 宝石与石头
给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头. S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石. J 中的字母不重复,J 和 S中的所有字符都是字母 ...
- PentestBOX教程
0x01 Pentest BOX Pentest Box:渗透测试盒子,是一款Windows平台下预配置的便携式开源渗透测试环境,而它也是著名黑客Kapustkiy常用的工具之一.这里集成的大都是Li ...