Android WebGL适用于某些移动平台,但不适用于其他平台

Android WebGL适用于某些移动平台,但不适用于其他平台,android,cordova,google-chrome,webgl,chromium,Android,Cordova,Google Chrome,Webgl,Chromium,我正在开发一款手机游戏,它需要WebGL才能很好地运行,但是WebGL只能在某些设备上运行 我有一个Nexus10平板电脑更新到最新的Android棒棒糖。 我的游戏在Chrome上运行时使用WebGL,但是当我使用cordova打包游戏时,游戏不使用WebGL,速度非常慢。我还测试了其他几种设备上的行为: WebGL工作: 三星Galaxy S5(4.4.4) 黑莓Priv(6.0.1) WebGL不起作用 Nexus 10(5.1.1) 三星Galaxy S3(4.3) iPad m

我正在开发一款手机游戏,它需要WebGL才能很好地运行,但是WebGL只能在某些设备上运行

我有一个Nexus10平板电脑更新到最新的Android棒棒糖。 我的游戏在Chrome上运行时使用WebGL,但是当我使用cordova打包游戏时,游戏不使用WebGL,速度非常慢。我还测试了其他几种设备上的行为:

  • WebGL工作:
    • 三星Galaxy S5(4.4.4)
    • 黑莓Priv(6.0.1)
  • WebGL不起作用
    • Nexus 10(5.1.1)
    • 三星Galaxy S3(4.3)
    • iPad mini 1(9.3.5)
    • 三星Galaxy标签3(4.4.2)
我也尝试过使用相声,但它创建的应用程序从未启动。启动屏幕后,它有黑色背景,什么也没发生


如何修复或调试WebGL在某些设备上不工作的问题?

我设法使其工作,不使用WebGL的主要原因是某些设备在GPU中没有特定功能,默认情况下禁用WebGL。强制使用WebGL的唯一方法是,您需要使用CrossWalk,同时忽略gpu黑名单

首先,我使用以下命令添加了CrossWalk插件:

cordova plugin add cordova-plugin-crosswalk-webview
然后我修改了config.xml以包含此部分

<preference name="xwalkCommandLine" value="--ignore-gpu-blacklist" />

此外,我还签署了APK的发布,这使应用程序的工作

添加此首选项迫使我的Nexus10使用WebGL及其超级快速。 此外,CrossWalk速度非常快,使应用程序在我的新黑莓Priv上运行得更好