Canvas 使用传单画布渲染器进行大矢量层渲染时的性能问题

Canvas 使用传单画布渲染器进行大矢量层渲染时的性能问题,canvas,openlayers,leaflet,openlayers-3,Canvas,Openlayers,Leaflet,Openlayers 3,我正试图通过传单中的画布渲染器渲染一幅包含3000个多边形的地图,它在我的电脑上运行良好,但在android设备或I-pod上测试时速度非常慢(有时甚至崩溃)。我也尝试过用openLayers 2和openLayers 3来渲染它,但即使是它们也工作得很慢。值得注意的是,当我使用上述三个渲染引擎渲染大约800个多边形的地图时,传单在这三个引擎中工作得最快,但当数量增加到3000个时,它会挂起并崩溃。我正在使用WKT格式输入数据。传单代码如下所示- var wkt = new Wkt.Wkt();

我正试图通过传单中的画布渲染器渲染一幅包含3000个多边形的地图,它在我的电脑上运行良好,但在android设备或I-pod上测试时速度非常慢(有时甚至崩溃)。我也尝试过用openLayers 2和openLayers 3来渲染它,但即使是它们也工作得很慢。值得注意的是,当我使用上述三个渲染引擎渲染大约800个多边形的地图时,传单在这三个引擎中工作得最快,但当数量增加到3000个时,它会挂起并崩溃。我正在使用WKT格式输入数据。传单代码如下所示-

var wkt = new Wkt.Wkt();
        var geom;
        var feature;
        var typeWiseData;
for (var type in allData){
    typeWiseData = allData[type];
    for (var i=0; i<typeWiseData.length;i++){
        geom = typeWiseData[i]['geometry'];
        if (geom){
            try {
                wkt.read(geom);
                feature = wkt.toObject();
                feature.addTo(map);
            }
            catch(e){
                alert(e.message);
            }

        }
    }
}
var wkt=new wkt.wkt();
var-geom;
var特征;
var类型数据;
for(allData中的var类型){
typeWiseData=所有数据[类型];

对于(var i=0;i首先,我怀疑原因是输入格式。 浏览器可能会在后台为Canvas元素使用硬件加速,如果不这样做,则会导致性能下降

画布->浏览器->操作系统->硬件,因此这将取决于许多参数

我不是Android专家,但此问题适用于浏览器/设备组合。请参阅以下链接:


Html5很有趣,但不要期望在每台设备上都有本机性能,几年后可能会更好。

你看到了吗?事实上,我需要我的地图是交互式的。虽然其中一个答案对我来说似乎很有用,但我不确定它是否适用于android设备/I-pod。我一定会尝试一下。感谢链接!