倾斜模型不在视野范围内被模糊清除,重新加载影响体验的问题

0 投票

http://ask.supermap.com/45777?show=45794#a45794 倾斜模型不在视野范围内的不显示的问题
http://ask.supermap.com/45778 倾斜摄影数据不在视野内后,再次进入视野还会加载
如这2篇文章中的问题

对S3MTilesLayer设置clearMemoryImmediately :false,让他不释放缓存,似乎并没有效果,已经渲染过得倾斜模型s3mb文件还会继续重新请求渲染,是我的代码写错了吗
代码如下:
 

            let url3d = `https://******.*****.cn/iserver/services/****/rest/realspace/datas/Config/config`

            let config = {

                name: "Config",

            }

            var promise = viewer.scene.addS3MTilesLayerByScp(url3d, config)

            Cesium.when(promise, function (layer) {

                var style3D = new Cesium.Style3D();

                style3D.fillForeColor = Cesium.Color.fromCssColorString("#ced7e2");

                layer.style3D = style3D;

                layer.clearMemoryImmediately = false

                layer.refresh();

            }, function (e) {

                if (widget._showRenderLoopErrors) {

                    var title = '加载SCP失败,请检查网络连接状态或者url地址是否正确?';

                    widget.showErrorPanel(title, undefined, e);

                }

            });


另外还有一个问题就是是否有地方可以设置的倾斜模型s3mb格式文件的Cache-Control Etag Expires,不用每次都去服务器请求三维模型 优化加载性能提高用户体验

10月 28, 2021 分类:  67次浏览 | 用户: 郑文涛 (8 分)
修改于 10月 28, 2021 用户:郑文涛

1个回答

0 投票

你好,我这边验证没有问题,你可以去官网下载一个最新的WebGL包验证一下http://support.supermap.com.cn/DownloadCenter/ProductPlatform.aspx ;此外如果不想 不用每次都去服务器请求三维模型 ,可以将缓存保存到 indexedDB里面,具体可以在api里面搜索s3mtileslayer然后所有indexDB:http://support.supermap.com.cn:8090/webgl/web/apis/3dwebgl.html

10月 28, 2021 用户: 卷饼先生 登峰造极 (5,942 分)
设置layer.indexedDBSetting.isGeoTilesSave = true 重复请求三维模型的的问题解决了
但是layer.clearMemoryImmediately = false  三维模型移出可视范围会模糊重新渲染的问题还是存在,
引入的是SuperMap_iClient3D_10i(2021)_for_WebGL_CH 产品包  build文件夹里的的Cesium,想问一下你们这边三维模型的文件是 .s3mb的文件吗
...