canvas绘制卡顿,渲染延迟

红茶绅士
  • 67

LZ用openlayer3做GIS开发,采用canvas打点的方式做地图标记
测试时发现android 5等大部分较新的手机均没有任何问题,"唯独"android4.2.2的一款索尼手机在狂点地图之后发生渲染延迟的现象,即点了一下,程序逻辑判断是显示点中触发函数了,但是canvas却没有渲染出应该有的画面————直到再点一次,才渲染出"前一次的画面"
我的逻辑是这样的:

map.on('click', function(evt) {
        var feature = map.forEachFeatureAtPixel(evt.pixel,
                function(feature) {
                    return feature;
                });
        if (feature) {        
            //如果点到了feature,那么绘制标记
        }
        else {          
            //没点到feature,只点到地图,那么擦除标记
        }
    });

唯独android4.2.2的索尼手机有问题,狂点地图后发生渲染延迟。

请问
1.可能是什么原因导致这种情况?
2.有什么解决方案?

回复
阅读 8.7k
2 个回答

4.4之前的Android机型,浏览器内核比较老,有些HTML5的标准支持得不好,内核性能比较差。。。

主动请求渲染一下试试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏