Chrome 不支持WebGL 怎么办? - 知乎专栏

文章推薦指數: 80 %
投票人數:10人

但在不同用户的电脑上,就算版本号>18的chrome也能碰到各种各样的奇怪问题而无法打开WebGL 应用,这时候可以怎么做呢? 本文基本是对How can I enable WebGL in my ... 首发于酷家乐前端无障碍写文章登录/注册因工作需要碰到了高版本chrome不支持WebGL的情况,于是整理了一下解决方法,如有疏漏请指出。

Chrome是对WebGL支持度最好的浏览器,从版本号18开始就对WebGL1.0有了非常全面的支持(现在最新的版本为55+)。

但在不同用户的电脑上,就算版本号>18的chrome也能碰到各种各样的奇怪问题而无法打开WebGL应用,这时候可以怎么做呢?本文基本是对HowcanIenableWebGLinmybrowser?这个回答的提取,并加以补充。

0.检查浏览器WebGL支持度甩一个WebGL支持检查的网站WebGLReport,每一步之后都可以通过这个网站来查看操作是否成功。

1.重装最新chrome浏览器重装总是能解决90%的奇怪问题2.开启chrome硬件加速打开chrome设置,『显示高级设置』,找到『系统』,在『使用硬件加速模式』选项前打钩。

重启浏览器。

3.开启WebGL:--disable-webgl打开chrome://flags面板(将这行字输入地址栏),ctrl/command+f搜索『--disable-webgl』并启用该选项。

重启浏览器。

咦?为什么我没有这个选项?!(请看下去)HowcanIenableWebGLinmybrowser?这个回答中明确说需要在chrome://flags中启用--disable-webgl选项,但是为何我的chrome中没有这个选项了呢?其实是因为高版本的chrome对WebGL的支持已经非常成熟和稳定,在2015年8月的时候,这个选项被当做一个bug移除了(详见:https://bugs.chromium.org/p/chromium/issues/detail?id=525739),所以那之后发布的chrome浏览器就不再显示这个选项,webgl是默认开启的,也就不需要手动『启用』了。

4.查看浏览器显卡支持如果以上方法都行不通,那就比较麻烦了。

请继续看下去。

首先,你可以打开chrome://gpu查看显卡对浏览器特性的支持度,看看到底是那儿出了问题。

GraphicFeatureStatus中对WebGL一项的支持状态可能为:Hardwareaccelerated:WebGL已启用,并获得了显卡支持Softwareonly,hardwareaccelerationunavailable:WebGL已启用,但没有显卡支持,只有软件渲染支持Unavailable:WebGL既没有显卡支持也没有软件支持WebGL应用一般需要显卡加速,如果你的浏览器显示WebGL未获得显卡支持(即显示为后面两项)则你电脑的显卡可能进入了chrome的黑名单。

5.显卡黑名单有一些显卡和显卡驱动因为bug太多会导致浏览器崩溃甚至系统崩溃,所以很多浏览器都有一个显卡黑名单,对这些有问题的显卡和驱动,浏览器将不启用硬件加速。

可以在chrome://flags中开启--ignore-gpu-blacklist来无视这个黑名单(不推荐,可能会引发浏览器崩溃或者系统崩溃)。

chrome的显卡黑名单在这里:BlacklistsAndWhitelists-WebGLPublicWiki。

你的显卡是否被黑名单是根据你的显卡驱动版本来判断的,如果你发现你只要开启『覆盖软件渲染列表』就能使用WebGL应用很可能是因为你的驱动版本过低,推荐你先去看看你的显卡有没有可用的新鲜驱动,更新一下显卡驱动再回过头来把这个选项关闭,重启浏览器试试看是不是能正常开启WebGL应用。

如果可以,那么恭喜你!你不需要再开启这个不保险的配置项啦!5.1换成Firefox强行开启WebGL我发现在有些操作系统上(如xp),Firefox浏览器对显卡驱动的版本要求比Chrome低,也就是说,在这些系统版本是Firefox可能可以正常开启WebGL应用当Chrome不能够的时候。

HereBeDragonsTypeabout:configinFirefox’saddressbarandmakethefollowingchanges:ToenableWebGL,setwebgl.force-enabledtotrue.ToenableLayersAcceleration,setlayers.acceleration.force-enabledtotrueToenableDirect2DinWindowsVista/7,setgfx.direct2d.force-enabledtotrueNow,crossyourfingers,restartFirefoxandtryrunningaWebGLapplication.It’sprobablybesttoundothosechangesifsmokestartspouringfromyourPC.以上来自:HowtoEnableWebGLforBlockedGraphicsCardsinFirefox这篇文章,关于如何在非常恶劣的情况下用火狐浏览器开启webgl。

是我在搜索xp是否支持webgl的时候找到的。

翻译一下:以下操作可能很危险!在火狐的地址栏输入about:config进入设置页面,会出现一个⚠️警告页面,请仔细阅读,自己承担风险!开启WebGL,把webgl.force-enabled设置成true(双击即可)开启LayersAcceleration,把layers.acceleration.force-enabled设置成true开启Direct2d在winvista或win7,把gfx.direct2d.force-enabled设置成true现在你应该可以使用WebGL了。

6.如果还是不行...可能你需要换一台电脑了~参考资料:HowcanIenableWebGLinmybrowser?CanIuse...SupporttablesforHTML5,CSS3,etcWebGLWater(封面)编辑于2017-05-1211:09WebGL前端兼容前端开发​赞同28​​5条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录酷家乐前端因为开放,所以无限可能



請為這篇文章評分?