查看: 3553|回复: 12

操作地球非常卡!

[复制链接]

该用户从未签到

发表于 2013-11-16 10:38:45 | 显示全部楼层 |阅读模式
我加载了ArcgisServer和GeoServer 上的切片发布的金字塔数据,但是当我操作地球时非常慢很卡,数据量也不是非常大而且也切片了为什么会出现这种情况呢?是不是我加载的方式有问题,或者哪些方面还可以改进?下面是我的加载方式:
(BF65}[HHP(646}ZKDN~DR0.jpg

请各位看官提出宝贵意见!

该用户从未签到

发表于 2013-11-23 12:13:48 | 显示全部楼层
确保数据OE可以高效获取,请求的数据要是不能及时得到,OE是没办法绘制出来的

该用户从未签到

 楼主| 发表于 2013-11-16 10:39:17 | 显示全部楼层
代码不清楚:
        osgEarth:rivers::ArcGISOptions MapImageLayer;
        MapImageLayer.url()=osgEarth::URI("http://202.114.123.30:6080/arcgis/rest/services/Layer_xiaolong2/MapServer");
        std::string CdlayerName="worldimage";
        osg::ref_ptr<osgEarth::ImageLayer> cdlayer =new osgEarth::ImageLayer(osgEarth::ImageLayerOptions(CdlayerName,MapImageLayer));
        map->addImageLayer(cdlayer.get());


        osgEarth::Drivers::WMSOptions DEMbaselayerOpt2;
        ImagebaselayerOpt2.url()=osgEarth::URI("http://202.114.123.30:8080/geoserver/Edvis_-1/wms");
        DEMbaselayerOpt2.layers()="Layer_0";
        DEMbaselayerOpt2.tileSize()=256;
        DEMbaselayerOpt2.wmsVersion()="2";
        DEMbaselayerOpt2.srs() ="EPSG:4326";
        std::string DembaselayerName="Dem720";
        osgEarth::ElevationLayerOptions demlayerOpt(DembaselayerName,ImagebaselayerOpt2);
        demlayerOpt.edgeBufferRatio()=2;
        osg::ref_ptr<osgEarth::ElevationLayer>  BaseDEMLayer = new osgEarth::ElevationLayer(demlayerOpt);
        map->addElevationLayer(BaseDEMLayer.get());

该用户从未签到

 楼主| 发表于 2013-11-16 10:39:46 | 显示全部楼层
坐等各路神仙、、、、、、、、、、、、、

该用户从未签到

发表于 2013-11-23 08:41:18 | 显示全部楼层
你可以试下在每次添加地形数据的时候设置tileSize为16,当是影像数据的时候设置tileSize=256.这样看行不行。这样我认为只会影响这边数据时候会立即刷新出来,不会卡。你场景中是否还是用了

osgEarth::technique::drap(map).这属于样式设置的时候,这会显著的影响帧率。仅供参考

该用户从未签到

发表于 2013-11-28 14:46:43 | 显示全部楼层
xiaol_deng 发表于 2013-11-16 10:39
代码不清楚:
        osgEarth:rivers::ArcGISOptions MapImageLayer;
        MapImageLayer.url()= ...

DEM的tilesize设置小一点,我之前也是256,很卡,然后ago指点后,切成了32*32 的,快多了,你可以试试,

该用户从未签到

发表于 2013-11-28 15:38:41 | 显示全部楼层
我以前也遇到过类似的情况,DEM的tilesize设置小一点应该就可以了,我现在一般设置成16.

该用户从未签到

发表于 2013-12-2 13:53:08 | 显示全部楼层
  DEMbaselayerOpt2.tileSize()=256;

一个tile就是256*256*2个三角面

该用户从未签到

发表于 2013-12-4 10:23:50 | 显示全部楼层
ago 发表于 2013-11-23 12:13
确保数据OE可以高效获取,请求的数据要是不能及时得到,OE是没办法绘制出来的

请问如何确定数据可以被OE高效获取? 一般可以被OE 高效获取的数据有哪些?谢谢!

该用户从未签到

发表于 2013-12-4 12:06:53 | 显示全部楼层
cmygiser 发表于 2013-12-4 10:23
请问如何确定数据可以被OE高效获取? 一般可以被OE 高效获取的数据有哪些?谢谢!

tms,vpb(ive),这些只受限于网络速度

如果觉得麻烦,我有现成的,全球地形高程精度19米,卫图精度15米,ive格式,2000多GB,显示效率好

该用户从未签到

发表于 2013-12-4 14:03:15 | 显示全部楼层
ago 发表于 2013-12-4 12:06
tms,vpb(ive),这些只受限于网络速度

如果觉得麻烦,我有现成的,全球地形高程精度19米,卫图精度15 ...

非常感谢版主ago ,我会向上级申请跟您购买数据。

另外请教一个问题:我们近期对OE加载tms瓦片的高程数据进行性能测试,系统运行了4个小时便崩了,确认排除了其它原因。今天恰好也在论坛里看到其他兄弟遇到类似问题。请问您知道这是什么原因吗?谢谢!

该用户从未签到

发表于 2013-12-4 14:09:20 | 显示全部楼层
cmygiser 发表于 2013-12-4 14:03
非常感谢版主ago ,我会向上级申请跟您购买数据。

另外请教一个问题:我们近期对OE加载tms瓦片的高程 ...

补充一点 : 上述对OE的操作,是重复让系统显示、隐藏高程图层。16级tms瓦片高程数据。

该用户从未签到

发表于 2013-12-4 18:02:31 | 显示全部楼层
重复显示隐藏高程层,这样整个在显示瓦片都会重新刷新,我们的做法是一次性全球19米高程高程一个图层,图像全球一层15米,局部再用单独的图层,效率很高
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表