我正在开发一款需要WebGL才能表现良好的手机游戏,但WebGL仅适用于某些设备。
我已将Nexus 10平板电脑更新到最新的Android Lollipop。 当我从Chrome运行它时,我的游戏使用WebGL,但是当我使用cordova打包游戏时,游戏不使用WebGL并且速度很慢。我也在其他几个设备上测试了这种行为:
我也尝试过使用CrossTalk,但它创建的应用程序从未启动过。在启动画面后,它有黑色背景,没有任何反应。
如何修复或调试WebGL在某些设备上不起作用的问题?
答案 0 :(得分:2)
我设法让它工作,不使用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能够更好地运行应用程序。