Speeding up app startup with lots of points visible

Hampf shared this idea 3 years ago
Gathering feedback

Hi,

I have a lot of points stored in various folders. With more than 500 points marked visible starting the app gets more or less a pita (sorry). I see that this is an issue mentioned often and earlier. I just wanted to bring it to your attention again.

I assume startup time until the map gets displayed could be a lot quicker if only "really" visible points get loaded at startup, the rest could be deferred.

This could be achieved retrieving a valid GPS signal at first (fallback: where Locus Map left off last time) and then retrieving the nearest points first until the map with the current zoom is filled or even retrieving all visible points after the map is displayed in a separate thread.

I suppose there is no need in calculationg distances to perfection, just load the points with nearly the same coordinates first, e. g. same degree & minute +/- some epsilon, making it a wee bit more elaborate near a meridian (no trouble if lat/long are stored as float fields as a "select from points where lat between latCurrent-0.005 and latCurrent+0.005 and lon between lonCurrent-0.005 and lonCurrent+0.005").

Or maybe I'm just too naive.

Cheers,

Hampf

Replies (4)

photo
1

Hello Hampf,

thank you for your idea. It looks to me maybe more like a bug. 500 points should make no difference.

Just quick test on my 3 years old Pixel 2


Full start of the app with

- no points: 3 seconds

- 5000 points: 9 seconds

About how big a delay we talk in your case? 9 seconds doesn't sound too bad for one or two starts per day to me.

Jiří M. aka Menion

photo
1

Hi Menion,

sorry it took so long. I didn't notice you replied a long time ago.

I made some tests with my S7 Android 8.0 (same phone to be sure to have equal results comparing to my original post):

0 visible points and tracks: almost instant startup

~3000 geocaches in folder 1: almost instant startup

~3000 found geocaches in folder 2: 10 seconds startup time

~3000 geocaches plus ~3000 found geocaches (folder 1+2): 10 seconds startup time

The 10 seconds also apply when hiding or unhiding the found geocaches folder.

It seems there is a significant performance decrease with loading found geocaches at startup or after unhiding.

I normally have all my tracks hidden. After showing all (~50) tracks in a third folder startup time increases as well and additionally to the 10 seconds for found geocaches.


What I omitted: exporting, deleting and reimporting the found geocaches folder and test startup time again.

I have to admit: showing the found geocaches does not happen a lot and when I do show them on the map this is only temporary. I do not show all of my tracks as well.


Cheers,

Hampf

photo
photo
1

Same problem here. I have about 20000 points active each start takes about 42 seconds. Currently I use a cat S61. I know this problem since years and often thought about the same idea mentioned here.

Wolfgang

photo
1

I have the same problem with tracks. Currently I am like this:

Before exiting Locus., I hide all tracks in the folder. Long Click on the number of tracks in the folder.

New start (on the next day) I will then show this as needed.

In order to automatically do these things, I have already discussed ideas with Menion.


Automatic hiding folders (groups) when exiting. Automatic visibility track from folders 30s after startup. The appearance happens but in the background. I can work with Locu in time. View map, postpone, search location ....

Currently that happens in the foreground and I have to wait until the preview bar is finished.


Since I do not need all tracks (points) at each activity. I could choose in pressets which folders (Groups) will be displayed at startup.

photo
1

Wolfgang, 20k points is really a huge number. Are there also geocaches? Because I've noticed a huge difference between caches and regular points.

I think there is not much space for speed improvements. Loading is currently limited by the speed of the database so there is not much I may do. Anyway, the start-up speed of the app was one of the top priorities for Locus Map 4, but was not enough time for this. The solution here is quite simple: remove, as much as possible, items from the initial loading dialog and simply allow to work with the map even during loading.

I just do not know how many people appreciate this so it was not (yet) a top priority. Seems that at least you two are interested in this :).

photo
1

Hi Menion,

yes I know it's a lot. The reason is quickly explained.

There are 2000 up to 7000 Geocaches - it depends on the region, When I am at home I have 2000 when I am traveling there a much more on the device. I try to be under 10000 of Caches.


Then I have folders which contain my found Geocaches and special kind of Geocaches e.g. more than 100 Favorite Points in Germany or some which are very interesting. Because the performance get's bad with more Geocaches I hide this Geocaches. BUT I do an export of these as KML and then I import them back in another folder. So I can choose the symbol I want to see. So these points are never hidden.


In summary I have shown on the map usually about 2000 Geocaches plus almost 20000 points. And this takes always at about 42 seconds to start.

Because of that I only keep only a few tracks and most of them are hidden.

That's how I handle Locus since years.

Wolfgang

photo
Leave a Comment
 
Attach a file