Speeding up app startup with lots of points visible
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
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
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
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
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
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.
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.
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 :).
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 :).
Replies have been locked on this page!