arcgis 与 pixi.js 实现大数据量渲染 ( 三 )
对于移动卡顿问题,我这边分为两个步骤 首先放大缩小监听zoom 事件 并且使用 debounce 操作,降低操作操作
针对放大缩小增加debounce 减少运算, fun 里面Function 就是 篇幅二的方法
-
view.watch('zoom', debounce(fun, 150, false));
-
-
-
function debounce(func, wait, immediate) {
-
var timeout;
-
return function () {
-
var context = this, args = arguments;
-
var later = function () {
-
timeout = null;
-
if (!immediate) func.apply(context, args);
-
};
-
var callNow = immediate && !timeout;
-
clearTimeout(timeout);
-
timeout = setTimeout(later, wait);
-
if (callNow) func.apply(context, args);
-
};
-
}
平移地图使用extent 但是不针对所有点 针对ParticleContainer 来做地图平移操作 降低计算
首先有一个公式很重要 ,如果你要算地图偏移的距离等于多少像素呢?因为我们知道pixi 肯定是以像素来平移的
首先有个这样的公式 Scale = 1: (resolution * PPI / 0.0254)
- scale : 地图比例尺
- resolution: 地图分辨率
- ppi :每英寸的像素点
更多消息参考https://xiaozhuanlan.com/topic/5230619487