osgEarth::ElevationQuery的setMaxTilesToCache函数的作用

1 篇文章 0 订阅

【引子】

        osgEarth::ElevationQuery类用于查询高程,自测效率比较低(大概每个点需要四五十毫秒),成员函数setMaxTilesToCache(int),之前看说明仍然不是很确认其具体的意义,想尝试设置是否能加速下。

        看之前的参数设置为10,网上搜索中文资料不多,搜到几个参数也是10,还有的备注为"最大查询LOD级别",英文函数头中的解释为“Sets the maximum cache size for elevation tiles.”,看起来是缓存相关的,到时是缓存地图的级别还是缓存的数量? 经过查看ElevationQuery.cpp以及官网的更详细的说明,发线并不是说明LOD级别或瓦片级别,而是缓存的查询高程的点的个数。

【真相】

setMaxTilesToCache(int)设置的就是查询点的缓存个数,且缓存的结构为osgEarth::LRUCache。在OsgEarth 2.1.1中,默认数量为50;在OsgEarth 2.7中,默认值为500。

【但是】

尽管不喜欢“但是”,但是实际测试发现,通过setMaxTilesToCache设置了缓存也没有什么用,相同的数据立马再查询一遍好像耗时没有什么变化!或者理解还不够,看ElevationQuery的sync函数会自动判断要不要清除缓存,目前还不知道怎么让它不用清除缓存!

----

【后续】

早上起来,突然有了个想法,干嘛不自己在外面做缓存呢~~ 哈哈,真是“只要思想不滑坡,办法总比问题多”!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

piaopiaolanghua

感谢鼓励,再接再厉!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值