Caching vector maps – detailed settings

Petr Voldan shared this idea 4 years ago
Collecting votes

Locus automatically stores rendered tiles for zoom-levels <= 10. There is an idea to add new parameters to the configuration file:


- Maximal zoom-level for caching vector tiles


- Maximal size of cache (in MB)


What do you think?

Comments (18)

photo
0

Thank you Petr !


This would allow users to adapt Locus behaviour to the realities of their devices.


How powerful it is, how much space left etc.


Even with a quite strong galaxy Note, rendering of levels 11 to 13 are quite painful. In particular for detailled themes (incl. contour lines e.g.)

photo
0

The caching should take the theme into account. I.e. if one uses different themes for the same area of a map then the caching should store the rendered tiles per theme.

photo
0

I hope that all are aware:


1. every selected theme render different tiles. So there should be separate cache for every theme (this is crazy) or Locus should automatically delete all cached tiles when theme is changed


2. when auto-loading is enabled, many map tiles are firstly rendered from single maps and later for any additionally loaded. Anyway when map tiles will be cached, Locus do not know, which already cached tiles this new loaded map cover. So caching of vector tiles + auto-loading is really pain ...


3. frequent caching/deleting tiles on card, damage your card as discuss here (in more then 10 month old discussion https://getsatisfaction.com/locus/top... )


so please, take this topic more as discussion. I personally do not agree with vector map caching. My opinion is "use vector maps without caching. If you device is too slow, sorry - wait or don`t use". Anyway if all three points above will have good explanation, I as usually say "never say never"

photo
0

Thank you Menion for the quick assessment.


Re. 1) I come from a very practical view, hence I am fully with you that a sophisticated cache management is overkill. When I am on a hike or a trip, I typically have one scenario (street, mountain, ...), which does not switch every 10 mins. So having the cache deleted when Theme switches is a logical and sufficient step I feel


Re. 2) this may depend on the coding of the tile file names. If you encode the name by geographic coordinates of the resp. tile, then you can completely ignore which map they came from


Re. 3) I read the whole track in the link re. SD card impact - and my bottom line is: why not avoid "religious" discussions and "one size fits all" traps ?


- I never felt my SD card is aging so far - wear leveling seems pretty smart nowadays


- People could even argue that SD cards are cheap enough today to have a new one every year


- Smartphone characteristics are very different


- SD card speeds and sizes are very different


- Personal preferences and tradeoff assessments are very different


Adding a switch for vector map cache on/off (default on), and the max level (default 10) empowers the users to follow their believes and taste and needs, and ends diverging discussions with you in the middle ;-)

photo
0

"What you cache is what you see?"


Cache a offline map - to have a offline map offline - twice.


My moving speed is not sooo high and i dont have any problems with loading the vector tiles - but maybe i don`t see the big advantage yet ;)

photo
0

It is not about moving - it is about interactive zoomimg in and out for orientation and alike, where wait times a annoying.


Moving points towards a "look ahead" feature, which is also a nice idea, but was not my topic.

photo
0

Hello, I think that added the option to enable cache or not, by default it should be disabled, not to alter the current operation. If someone wants to test whether improved performance in your device, you have to enable it.


Greetings.

photo
0

Hi Menion,


I`d like to comment:


ad 1.: as I already mentioned caching must be per theme, why is this crazy? It`s strictly logical


ad 2.: I think we`re talking here about vector maps only, nothing else. The cached tiles should cover a certain area _independent_ of the current map. A user would anyway only see the tiles of one map in an area which is covered by more than one map.


ad 3.: As Peter wrote in the initial post, it`s about caching of map tiles in low zoom levels. I personally would set the limit somewhere in the range of zoom level 9 which would result in I think less than 100 tiles for Germany. How much space would that make? I think not too much. Zoom levels below that would cost even much less. Dependent on people`s need (some only use the vector map only in a local area), others may like to get an overview over thousands of kilometers the max zoom level for caching can be configured.


I hope something like this can and will be done soon because for high zoom levels Locus reached now a "good" speed in rendering but for low zoom levels rendering still feels like ages.

photo
0

Look at Locus/cache/map/vector - today.


Caching happens already up to level 10.


My only point is to give FREEDOM to the user.


Adding a switch for vector map cache on/off (default on), and the max level (default 10, both defaults replicating TODAY`s behavior) empowers the users to follow their believes and taste and needs.

photo
0

The folder is there but it is empty!?


I also seem to remember there was caching for vector maps - long time ago?


@Michael: Are files stored in this folder?

photo
0

yes, sure, I have recent files in this folder. And from load times I can confirm that zoom 10 and below are fine, once you have been there, but level 11 to 12/13 are problematic and annoyance, even on a Galaxy Note.

photo
0

Maybe one short comment: At this moment caching works only when the auto-loading of vector maps is turned off.

photo
0

ah, now I understand. This explains also why I still had the impression that with vector map autoload on rendering is still a bit laggy.

photo
0

Now I tested it for complete Germany (vector map size ~700MB): 1184 cache files with a total size of 30.4MB for zoomlevels 0..10 with the Locus internal "street theme".


This is not much for the benefit in case one really needs the low zoom levels. I *personally* would limit caching even to 0..9 because on my S3 zoomlevel 10 is not really slow.


So, I`m still in favour of such a feature though I will happily also agree on much faster loading of low zoom levels without caching :)

photo
0

Depending on device type and theme you use, up to level 12 is slow and 13 not really fun, so caching makes sense fo those for sure. But again - GIVE IT A SETTING, SO EVERYBODY CAN DECIDE HER/HIMSELF !


When it comes to the lower levels, the best solution is either optimized vector maps for overview only (Menion mentioned that) or you can have the whole world on a tile DB in 1.4 GB at level 10. Again, people should have the choice to switch to a generic map of whatever kind at a level they can define.


In summary: alternate map (vector or tiles DB) for the lower levels, caching at medium levels. Total of 3 additional parameters. End of religious discussions.

photo
0

End of religious discussion? Is argueing with some measured numbers religious?


Come on Michael, I argue for the same as you! I just wanted to find out the cost and the benefit of it. In addition I mentioned I would set the config file parameter on my phone to max 9. That`s all.

photo
0

Hi Tommi, you joined in the later part of this discussion in various flavors, which has been going on for quite some time (and not only in this forum). This is where the term comes from - not you ;-)

photo
0

Any movement here ?