f/通讯与导航 2014-08-04 07:23

继续发MOBAC修改版,优化了速度,以及其他一些改进

1.9.6 修改版 r425版,主要对性能进行优化,提升了创建地图的速度。详细改动:

1.9.6 build 425
优化下载创建地图时的算法, 启用缓存时不再需要临时文件,提升了缓存中已有数据时的地图创建的速度,并解决创建大型地图时C盘空间不够的问题。
增加“从缓存创建地图”按钮,直接从缓存创建地图,不下载,不检查缓存是否过期,速度更快。只有当启用缓存并且地图册类型不是download to tile store only时该按钮有效。
修正创建OruxMaps Sqlite地图时百分比显示不正确,超过100%的问题。
修正地图册tooltip中区块数量不显示的问题。
修改网络连接数选择下拉框选择内容为1-10。
修改检测最大下载区块是否超500000的方式,从检查全地图册(atlas)总和是否超过限制修改为检测单独每张地图(layer)是否超过限制。
优化TileDownloader部分代码。
显示设置界面改为直接调用而不是invokeLater。
launch4j生成exe文件时加入文件版本号。
修改build.xml,打包文件名加入版本号。

本次修改主要是提升了地图创建速度,特别是本地缓存中已有数据时的地图创建速度。
同时增加了一个新功能”直接从缓存创建地图“,当确信缓存中已有需要创建的地图区域的数据,并且不需要检查更新时(比如之前刚刚下载过该地区地图)可使用,可极大提升地图创建速度。

关于地图创建速度的提升,本人做了个简单测试,测试机为一台性能一般的笔记本电脑。
以下载创建一个上海地区天地图卫星图+地标13-16层OruaxMaps Sqlite地图为测试目标,图块总数71416,最终地图大小990MB。
1. 先清空缓存,下载创建一次该地图,用时61分54秒,平均下载速度354.75KB/秒。(缓存中无数据时速度提升不大,因此未做对比)
2. 重启机器,用原始程序再创建一次该地图,缓存中已有数据,无需下载,用时26分59秒。
3. 重启机器,用修改后的程序再创建一次该地图,缓存中已有数据,无需下载,用时23分27秒,速度提高15.06%
4. 重启机器,用修改后的程序”直接从缓存创建地图“方式再创建一次该地图,无需下载,用时13分59秒,速度提高92.97%

下载地址:
 链接:http://pan.baidu.com/s/1i3zd241 密码:vs9n

已归档
点赞 4
12 评论
共 12 条评论
帖子已归档
Avatar
y82824 2014-08-04 07:55

感谢大神,我一直都在用你的这个版本,顶起:woot:

Avatar
y82824 2014-08-04 07:58

能不能把地图加加的投影转换功能也加进去。;)

Avatar
crazyq OP y82824 2014-08-04 09:35

没有它的算法,我不会算的。。。

Avatar
y82824 crazyq 2014-08-04 09:48

没关系,已经不错了,继续围观大神的下次杰作;)

Avatar
y82824 2014-08-04 08:14

大神网盘里有没有图源?

Avatar
y82824 2014-08-04 09:17

可不可以添加测量距离和面积的?

Avatar
crazyq OP y82824 2014-08-04 09:35

这个有用吗。。。?

Avatar
y82824 crazyq 2014-08-04 09:46

能写进去就写呗,会有人用的着的:)

Avatar
过客在深圳 2014-08-05 18:45

bug fix 和 代码优化建议提交给MOBAC开发组。

Avatar
crazyq OP 过客在深圳 2014-08-08 08:11

我提交过一次,但是改动太多了,原作者认为merge太困难。要每个改动做成一个个小patch太麻烦,不高兴弄了。。。

Avatar
过客在深圳 crazyq 2014-08-08 14:13

分功能提交原作者才好看,知道你到底在改啥。

Avatar
lx2100965 2014-08-06 08:13

感谢分享,太辛苦了