Cesium 加载 3dtiles 优化方案
- 1. 硬件支持
由于电脑硬件以及浏览器如chrome加载数据的瓶颈问题,所以电脑硬件的配置当然是越高越好。CPU、内存、GPU性能高的电脑要比性能低的好。
对于Window电脑需要确认浏览器已经使用了高性能显卡支持。主要配置有:
l 浏览器chrome

l Windows显示设置

- 2. 网络支持
因为网页访问3dtiles时,需要访问大量数据文件,所以网络访问应提供相当的带宽支持,同时将3dtiles部署为服务时,在生产环境下,应尽量部署在局域网内;同时在服务部署时可以加入Gzip压缩,前端访问时减少带宽使用,提高传输速度。



- 3. 数据处理层面(主要)
为减少占用客户端电脑显存的主要方法。
处理数据时,应将重建顶层、纹理压缩、顶点压缩选中,在cesiumLab和GisBox中,该选项均为收费功能。




- 4. 使用Cesium加载3dtiles时进行参数调整。
在加载cesium时,对其参数进行设置和调整,使其在性能和精度中找到平衡。
// 增加 GPU 内存使用限制 (MB),根据显存大小调整
maximumMemoryUsage: 1024,
// 增加 SSE,允许较低精度显示,大幅提升加载速度
maximumScreenSpaceError: 16,
// 跳过不再视图中的瓦片
skipLevelOfDetail: true,
baseScreenSpaceError:
1024,
skipScreenSpaceErrorFactor: 16,
skipLevels: 1
// shadows: Cesium.ShadowMode.ENABLED, //
// skipLevelOfDetail: true,
// baseScreenSpaceError: 1024,
// // maximumScreenSpaceError: 256, // 数值加大,能让最终成像变模糊
// skipScreenSpaceErrorFactor: 16,
// skipLevels: 1,
// immediatelyLoadDesiredLevelOfDetail: false,
// loadSiblings: true, // 如果为true则不会在已加载完概况房屋后,自动从中心开始超清化房屋
// cullWithChildrenBounds: true,
// cullRequestsWhileMoving: true,
// cullRequestsWhileMovingMultiplier: 10, // 值越小能够更快的剔除
// preloadWhenHidden: true,
// preferLeaves: true,
// maximumMemoryUsage: 128, // 内存分配变小有利于倾斜摄影数据回收,提升性能体验
// progressiveResolutionHeightFraction: 0.5, // 数值偏于0能够让初始加载变得模糊
// dynamicScreenSpaceErrorDensity: 1, // 数值加大,能让周边加载变快
// dynamicScreenSpaceErrorFactor: 1, // 不知道起了什么作用没,反正放着吧先
// dynamicScreenSpaceError: true, // 根据测试,有了这个后,会在真正的全屏加载完之后才清晰化房屋

浙公网安备 33010602011771号