Slow tile download on android 4.4 and 4.2.2

Glaeken shared this problem 2 years ago
Not a Problem

I've found a problem related to android 4.2.2 and 4.4 with file size of tile cache.

When using Android 4.2.2 with Locus (lets call it the first device), tile load speeds are mostly around 20 tiles per second. When setting proper initcwnd, it reaches about 30-40 tiles/s.

But, second device with android 4.4, AND (!) the second device with 4.2.2, have a very big problem, with big tile cache (above 2GB). Tile download speed is then 1 tile per second. (Yes, ONE tile per second).

There is also one case where the file is 300mb in size and it's already happening. (4.2.2)

SD cards are pretty fast (write 20mb/s (megabytes/second), read 50mb (megabytes/second)). Whole cache folder (onlinemaps) is about 7GB big or more. Some are even 16GB in size.

When turning off cache for the tiles, they load very fast. So it's write related.

Also when downloading to a new sqlite file, the download is very fast. Appending to existing big file is slow.

Any idea, why this is happening?

Comments (7)

photo
1

Good day Glaeken,


I'm sorry, but such problem won't be probably connected to Locus itself. In Locus is absolutely nothing around downloading of maps, that should affect speed of downloads.


So generally, exactly! same Locus version and same online map, should have same download speed. Speed of your SD card should not affect it at all, because even a slowest SD card will be faster then downloading of tiles I believe.


You may try to give us more information, mainly version of Locus, your devices, map you try to download.

photo
1

Ahoj.

I'm that second person who has this problem.

Android 4.2.2. HTC Desire Z. We are downloading tiles from our own source.

When I'm downloading to Personal map (SQL) - it downloads very fast.

When I'm downloading to a Cached map (SQL) which is empty or small - it downloads very fast.

When I'm downloading to a Cached map (SQL) which is big (eg 300mb) - it downloads terribly slow.


For me it is obvious that the file size influences a access time to that file.


It is terrible, because sometimes I need to spend two nights to download the desired area. Or I need to download the desired map to the separate SQLITE file - which is not what I want.

Can you help us somehow?

photo
1

Hi elmuSSo,


as I wrote before, I'm worried I cannot help here. At least I do not know how. As a technically skilled person, you will hopefully understand. Every Android has build-in support for SQLite database. New version of Android > new version of SQLite library. To be even better, some manufactures include own versions of this lib. Anyway it is possible that just your version of Desire Z has some problems with bigger SQLite file.


Did you tried download of exactly same map from same source on different device?

photo
1

I can try to do that. But I'm pretty sure you are right, it is a system-dependent problem. I had this feeling from the same beginning of the problem. Shit. So it is time to change phone:P Especially for Locus,:)

photo
1

Yes please try it. I'm not big fan of purchasing of new devices because of Locus. We are trying to be eco-friendly :).

photo
photo
1

It looks like the bottleneck is SQliteDB processing. If I remember correctly my browsing across Locus data folders the caches are internally stored as SQliteDB as well as Offline maps.

photo
1

This is correct Libor. I can't imagine what may be improved on this very simple mechanism. Database itself won't be probably biggest bottleneck. It¨s speed more depend on speed of medium where is placed, then on database itself. So in case, you place your Locus folder on very slow SD card, caching and loading of SQLite maps will be also really slow.


Anyway elmuSSo, hope you find an usable solution. I'm not a big fan of purchasing new devices, mainly just because of Locus. Maybe MOBAC should be a temporary solution for you.