[Marble-devel] Review Request 114626: Simplify FileLoader: No automatic cache file creation
Dennis Nienhüser
earthwings at gentoo.org
Thu Jan 9 12:38:38 UTC 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/114626/
-----------------------------------------------------------
(Updated Jan. 9, 2014, 12:38 p.m.)
Status
------
This change has been marked as submitted.
Review request for Marble.
Repository: marble
Description
-------
FileLoader has the ability to cache .kml files in a binary format to speed up subsequent loading of files. The current implementation has some serious limitations though:
- does not check the format, would cache every file format
- supports a very limited subset of the KML structure only (a tree of placemarks)
- assumes files have unique filenames
- loads nothing if .cache file is older than original
The behavior is only sane because the auto caching is limited to relative file names. In the Marble applications this equals files loaded from .dgml map themes. Not sure what happens if 3rd party applications use FileLoader with relative filenames though.
On my system no .cache file has been created automatically ever (despite me having installed nearly every map theme around). This is probably because we ship the ones used mostly anyway. Therefore I'd like to simplify things:
- map themes who want to load .kml files quickly should specify/ship .cache files directly
- .cache files can be created with tools/kml2cache easily
- the old behavior (open .cache instead of .kml for relative files, if exists) is kept for backward compatibility
The patch implements this.
Diffs
-----
data/maps/earth/bluemarble/bluemarble.dgml 4e40406
data/maps/earth/citylights/citylights.dgml b6ea048
data/maps/earth/openstreetmap/openstreetmap.dgml db29b35
data/maps/earth/plain/plain.dgml 7fbef91
data/maps/earth/precip-dec/precip-dec.dgml 6b6147b
data/maps/earth/precip-july/precip-july.dgml ad46862
data/maps/earth/schagen1689/schagen1689.dgml b433524
data/maps/earth/srtm/srtm.dgml 5eff3eb
data/maps/earth/temp-dec/temp-dec.dgml bae873e
data/maps/earth/temp-july/temp-july.dgml 63afcbf
data/maps/moon/clementine/clementine.dgml fc95218
src/lib/marble/FileLoader.cpp db76ad9
tools/CMakeLists.txt 5fe0f92
tools/kml2cache/CMakeLists.txt PRE-CREATION
tools/kml2cache/kml2cache.cpp PRE-CREATION
Diff: https://git.reviewboard.kde.org/r/114626/diff/
Testing
-------
Compared md5sum of existing .cache files and .cache files created by kml2cache from existing .kml files in placemarks/. They're all identical except for cityplacemarks.{kml/cache}. I guess the cityplacemarks cache file is out of sync and needs to be fixed independently of this patch.
Thanks,
Dennis Nienhüser
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/marble-devel/attachments/20140109/1b69ee81/attachment.html>
More information about the Marble-devel
mailing list