[Marble-devel] Review Request 114626: Simplify FileLoader: No automatic cache file creation

Dennis Nienhüser earthwings at gentoo.org
Sun Dec 22 22:34:19 UTC 2013


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/114626/
-----------------------------------------------------------

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/20131222/eef7a853/attachment.html>


More information about the Marble-devel mailing list