在Android WebView中启用WebGL

时间:2016-02-10 14:35:06

标签: android webview webgl

如何在Android 5.1.1模拟器的WebView小部件中启用WebGL?我通过Webglreport检查了WebGL状态,结果是"此浏览器支持WebGL,但它被禁用或不可用。有时,这是旧浏览器拒绝旧视频驱动程序的结果。尝试更新您的视频驱动程序"。

我还尝试在Android 4.4.4模拟器上使用Crosswalk webview,但也有相同的问题,但我通过添加xwalk-command-line xwalk --ignore-gpu-blacklist来修复它。是否可以为标准WebView小部件制作类似的内容?

1 个答案:

答案 0 :(得分:3)

更新:WebView团队表示,由于安全性/稳定性风险,WebView现在或未来的计划中不允许使用gpu黑名单覆盖:more details

//

Chrome for Android 47和Chromium / WebView 47使用不同的gpu黑名单和/或错误解决方法。即使在相同的硬件上,也可能不允许在一个中成功呈现的内容成功呈现。两种浏览器都计划每6周发布一次Play商店的更新。

例如:我有一台Nexus 10,Mali T-604平板电脑(Lollipop 5.1.1。另外,Android Studio 1.5.1配有SDK 6.0 Marshmallow API 23或22)。

在Chrome for Android中 -

  • chrome:// flags,#ignore-gpu-blacklist NOT enabled,以及所有重置默认值
  • chrome:// gpu,"图形功能状态-WebGL:硬件加速"和重置通知策略0x0000令人惊讶(见最后Crosswalk related)回答
  • webglreport,"此浏览器支持WebGL 1"
  • get.webgl.org,cube spins

在WebView中 -

  • webglreport,"此浏览器支持WebGL 1,但已禁用或不可用。有时,这是旧浏览器拒绝旧视频驱动程序的结果。如果可能,请尝试更新您的视频驱动程序。"
  • get.webgl.org,"嗯。虽然您的浏览器似乎支持WebGL,但它已被禁用或不可用。如果可能,请确保您运行的是最新的视频卡驱动程序。"

铬黑名单(来自Khronos WebGL黑名单wiki的链接):" GPU光栅化和画布在Nexus 10"上列入黑名单。

铬虫名单(来自Khronos WebGL黑名单wiki的链接):" Mali-Txxx驱动程序不保证同花顺序" "当从当前显示的缓冲区"中读取时,Mali-Txxx驱动程序挂起。

Pixel C平板电脑有一个Nvidia Tegra X1,它没有出现在铬列表中,我已经确认它支持WebView中的WebGL