cesium渲染wmts图层提升加载速度。

文章介绍了如何通过修改Cesium的RequestScheduler配置来提升加载大量WMTS图层服务的速度,包括调整最大并发请求数和启用/禁用请求节流,以优化用户体验并解决加载缓慢问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

由于项目里可能需要加载数十个wmts图层服务,可能会造成加载数据量过大,导致cesium加载缓慢,影响用户体验,于是就想办法提升加载速度。

整体思路

上网搜了一下这方面的问题,得到了一个关于cesium的调度器相关的答案。大致就是通过修改Cesium调度器的请求最大并发数量来提升加载速度。
官网链接:https://cesium.com/learn/cesiumjs/ref-doc/RequestScheduler.html?classFilter=RequestScheduler
在这里插入图片描述
再项目里把这几个属性依次打印出来为

50 6 {api.cesium.com:443: 18, assets.ion.cesium.com:443: 18, ibasemaps-api.arcgis.com:443: 18, tile.googleapis.com:443: 18, tile.openstreetmap.org:443: 18} true

可以看到maximumRequestsPerServer服务最大请求数量为6个。并不是官网里的18个。
打开f12 进行验证:
在这里插入图片描述
可以看到一次性进行了6次并发请求。相当于一次只能加载6块地图瓦片,这有可能是导致cesium加载wmts速度变慢的原因。
————————————————————————————————————————————
至于为什么官网默认为18 而打印出来为6这部分可以对源码进行全局查看搜索。
可以看到在cesium加载服务源码里把这个改为了6;
在这里插入图片描述

解决方法

  1. 在初始化球体时,设置调度器最大请求并发量:
Cesium.RequestScheduler.maximumRequestsPerServer = 18; // 设置cesium请求调度器的最大并发数量
  1. 注意调度器的第四个属性throttleRequests。上面我们打印出来时true。意思就是限制请求。如果改为false的话是否就不对请求进行限制?
Cesium.RequestScheduler.throttleRequests = false; //关闭请求调度器的请求节流

小结

上面的两种方法都是可行的。以上是我的个人见解,希望对大家能有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值