krpano在Android手机上使用WebGL来做krpano viewer的渲染。
比如手头的一台OPPO R9tm在打开CrossWalk加载全景图的时候,显示如下的信息:
ERROR
Adobe FlashPlayer or HTML5 Browser with WebGL or CSS3D support required!
Google的Chromium为了保证WebGL的性能和稳定性,自己有一个黑名单,如果在cpu在黑名单上就默认不打开WebGL。很遗憾,CrossWalk借用了Google的这个黑名单,然后就导致了这样的结果。
如何判断设备的GPU在黑名单上?
下载Google的Chrome客户端,然后打开chrome://gpu,找到Reset notification strategy,如果它的值为0x0000,那么此设备在黑名单里。如果它的值为0x8252,则没有问题。
如何强制CrossWalk打开WebGL?
在App的assets/
目录下新建一个无后缀的文本文件xwalk-command-line
,修改文件内容为:
> xwalk --ignore-gpu-blacklist
这样即可强制CrossWalk打开WebGL,从而可以展示全景图。
参考链接:
Canvas-and-WebGL-support