无需重新启动Chrome即可重新启用WebGL

时间:2014-06-02 15:18:47

标签: google-chrome webgl

当Chrome停止WebGL并出现以下错误时(在屏幕顶部的黄色横幅中):"Rats! WebGL hit a snag...",并且重新加载不起作用(WebGL仍未重新启用),是可以在不重新启动Chrome的情况下重新启用WebGL吗?

上下文:

  • Chrome可能会禁用WebGL,因为它需要太多资源:我要求它在Cesium上显示400,000个广告牌,以便知道这是什么。
  • 我知道如何减少我的应用程序要求的资源,但实际上我正在探索其测试目的的限制。所以我要让Chrome很多次禁用WebGL,而且每次禁用WebGL时我都不想重启它。

我的配置:

  • Chrome 35.0.1916.114 m
  • Windows 7 Pro 64位。

探索解决方案:

  • 我已经尝试打开新的Chrome窗口,但它不起作用。目前我只能关闭所有Chrome窗口并重新启动它。
  • 我已经尝试将--ignore-gpu-blacklist放在Chrome快捷方式中(即使我知道这是针对Windows XP的,对吧?)。

希望我足够清楚。 谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

在您的应用中,您应该正确处理webglcontextlostwebglcontextrestored事件。特别是,您应该阻止webglcontextlost处理程序中的默认事件操作,从而告诉浏览器,当webglcontextrestored被触发时,您可以恢复应用程序的正常运行。

答案 1 :(得分:0)

我遇到了同样的问题,只是找到了解决方案。听起来好像在发布此问题时还没有解决,但现在可以解决了!

刷新页面无效。如果您从其他标签中单击链接以打开崩溃的标签,则再次单击该链接将不起作用。您必须打开一个新标签,然后粘贴要重新加载的页面的URL。

我猜这是由于chrome线程引起的。通过打开一个全新的标签,您创建了一个新线程,而不是使用现有线程。