我正在开发一个移动游戏,它需要WebGL才能表现良好,但是WebGL只能在某些设备上工作。
我有一个Nexus 10平板电脑更新到最新的Android棒棒糖。我的游戏在Chrome上运行时使用WebGL,但是当我用cordova打包游戏时,游戏不使用WebGL,而且非常慢。我还在其他几个设备上测试了这种行为:
我也尝试过使用CrossTalk,但它创建的应用程序从未启动。在飞溅屏幕后,它有黑色的背景,什么都没有发生。
如何解决或调试WebGL不能在某些设备上工作的问题?
发布于 2017-01-02 06:35:30
我设法让它正常工作,不使用WebGL的主要原因是某些设备在GPU中没有特定的特性,默认情况下是禁用WebGL。强制使用WebGL的唯一方法是,您需要使用CrossWalk,同时忽略gpu黑名单。
首先,我使用以下命令添加了CrossWalk插件:
cordova plugin add cordova-plugin-crosswalk-webview
然后,我修改了config.xml以包含以下部分
<preference name="xwalkCommandLine" value="--ignore-gpu-blacklist" />
此外,我签署了APK发布,这使应用程序工作。
添加此首选项,迫使我的Nexus 10使用WebGL及其超快。此外,CrossWalk非常快,使应用程序更好地工作在我的新BlackBerry Priv。
https://stackoverflow.com/questions/41390704
复制相似问题