通常模型较大、数据过多时会导致加载速度缓慢(代码问题建议看下vue 注意事项),从而体验不太好;
可从以下方面进行操作或排查;
# 缓存数据,提高效率
可查看示例浏览器缓存数据 (opens new window),参考使用;
可直接使用 CesiumOfflineCache,是 cesium 底层的处理,不影响 mars3d 上层;
可自行研究下 indexedDB 技术;
# 大量数据加载
可使用大数据 Combine 加载,适合一次性加载,没有过多操作的数据;
可发布成 wfs 或 wms 方式,参考示例矢量数据 lod 加载 (opens new window);
两者区别: wfs 总体目标是降低同一屏幕下显示的数据量;分块加载,设置最小层级来控制数据量。 wms 是服务端来渲染成图片,发送到前端加载瓦片的。
- 可引入第三方 js,以矢量瓦片方式加载 GeoJSON (opens new window);
# 加载三维模型图层之后,周边的瓦片底图加载慢
浏览器的同批次请求数量有最大限制,目前无法完美解决。
可以 map 的 load 事件后再加载模型;
可以模型进行合并顶层处理,减少请求数
# 三维模型或小模型等数据过大
前端代码层面只能调整部分参数简单调优;
三维模型过大时可参考模型本身过大进行修改;
终极解决方案是要对数据进行轻量化处理
# 瓦片加载
LOD 瓦片机制,客户端目前无法干预,可以设置最大最小层级、矩形边界参数来避免加载无效数据,提高效率。 主要服务器和带宽可以提升点
# 参数导致加载慢
目前已知的会导致加载速度慢的参数
- clampToGround 贴地参数