android - 在 Android WebView 中启用 WebGL

标签 android webview webgl

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

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

最佳答案

更新:WebView 团队表示,由于安全/稳定性风险,WebView 不允许在现在或 future 的计划中覆盖 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)。

在 Android 版 Chrome 中 --

  • chrome://flags,#ignore-gpu-blacklist 未启用,所有重置默认值
  • chrome://gpu,“图形功能状态 - WebGL:硬件加速”和令人惊讶的重置通知策略 0x0000(请参阅最后一个 Crosswalk related)回答
  • webglreport, "此浏览器支持 WebGL 1"
  • get.webgl.org,立方体旋转

在 WebView 中——

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

chromium 黑名单(来自 Khronos WebGL 黑名单 wiki 的链接):“GPU 光栅化和 Canvas 在 Nexus 10 上被列入黑名单”。

chromium 错误列表(来自 Khronos WebGL 黑名单 wiki 的链接):“Mali-Txxx 驱动程序不保证刷新顺序”和“Mali-Txxx 驱动程序在从当前显示的缓冲区读取时挂起”。

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

关于android - 在 Android WebView 中启用 WebGL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35318029/

相关文章:

android - 安卓版。无法打开数据库文件

java - super 关键字的含义

android - iFrame allowFullScreen 属性在 Android WebView 上不起作用

javascript - BabylonJS 画线

javascript - 用户在 three.js 中上传纹理

android - 谷歌地图 fragment 中的 SupportMapFragment 错误

java - 构建项目gradle时出现错误: Connection timed out: connect ?

javascript - Javascript 执行启动 chrome 而不是 webview

java - Android WebView 完全不尊重 UI 布局

javascript - Chrome - 调试 WebGL 崩溃 ("Rats! WebGL hit a snag.")