我正在开发一个带有离子3的android应用程序。我有一部分使用babylon.js和另一部分(彼此不相关)使用three.js我在一些设备中测试了应用程序。使用Android 5.1.1的用户无法显示three.js内容。它说“不支持webGL”或类似的东西。此外,如果我尝试document.createElement("canvas").getContext("webgl")
,我会null
。到目前为止它是有道理的。
document.createElement("canvas").getContext("webgl")
,我也会获得null
。但是:如果我尝试engine.webGLversion
,我会获得2
。
在Android 6或7上,一切正常。 THREE.js表示正在使用webgl引擎,巴比伦也是如此。我知道Chrome的webview不允许你在Android 5.1.1或更低版本(???)上使用webgl。无论如何,WebGL在Android 6和7上运行良好。document.createElement("canvas").getContext("webgl")
也可以返回。
然后我在我的应用程序上安装了Crosswalk(添加了黑名单忽略的东西),THREE.js停止了抱怨,document.createElement("canvas").getContext("webgl")
返回了一个webGL上下文。
我仍然不知道是否:
任何人都经历过同样的事情吗?感谢
答案 0 :(得分:0)
我至少可以回答问题1:我们选择仅支持Babylon.js中的WebGL上下文,因为使用纯画布模拟硬件加速渲染的成本太高了。