osmandapp / OsmAnd-iOS

OsmAnd for iOS
Other
270 stars 90 forks source link

Route planning very slow on latest release(s) #3741

Closed MagielBruntink closed 1 month ago

MagielBruntink commented 1 month ago

Since recently route planning for even short routes (15 km with bike profile) has become very slow. Previously such routes were calculated in perhaps just a second, now it's taking close to half a minute. To me the navigation in OsmAnd has become unusable because of this slowdown.

For reference, other OSM based apps like TopoGPS plan the same routes almost instantly.

yuriiurshuliak commented 1 month ago

Unfortunately, we could not reproduce this bug. I attempted to plan a 17 km route through a dense road network, which took about 30 seconds. Please provide the exact start and end coordinates, attach your profile settings, and specify the application version you are using.

MagielBruntink commented 1 month ago

@yuriiurshuliak I have since learned that the apps I was comparing to were using online services for routing (graphhopper). So, not really a fair comparison. Although it would perhaps be nice to have that online option in OsmAnd as well, since it is much much faster.

I have also enabled dev plugin and saw that it's possible to choose between two algorithms for routing: highway hierarchies and A. The cycling profile is set to highway hierarchies by default. I tried A and note significantly faster routing. Perhaps that algorithm was indeed changed in a recent release?

DmitryAlexei commented 1 month ago

@MagielBruntink In the recent release, the routing algorithm was changed from A* to HH. The new algorithm shows much faster calculation speed for regular routes (up to 3x times faster). Although in some cases (for example, when more than 2 navigation settings are enabled), new routing may not work that fast as expected. We are trying to improve new routing, so we will be grateful if you provide:

MagielBruntink commented 1 month ago

Please find attached a GPX file with start and end waypoints, and the exported Cycling profile.

Wall clock time measurements on iPhone 13 with no other apps active and not in power save mode:

Used navigation mode to calculate the routes. "Directions from" on the start waypoint, then select the end waypoint as destination.

2024-05-30_18-52_Thu.gpx.txt Cycling.osf.txt

yuriiurshuliak commented 1 month ago

The bug could not be reproduced. I tested the issue by importing your track and using two different routing algorithms. First, I reset the bike profile settings and building the route using the Highway hierarchies and A* routing algorithms, which took approximately one second. Then, after importing your profile settings, it took around three seconds to build the route using the same algorithms.

OsmAnd TestFlight 4.7.7.1

Highway hierarchies A* Highway hierarchies (your profile) A* (your profile)
MagielBruntink commented 1 month ago

I have now also reset (all) profiles and notice overall greatly improved performance, for route planning and general app responsiveness. This may be something to make users aware of.

I have not done anything really special with my profiles in the past. Just visual preferences for the map.

MagielBruntink commented 1 month ago

With profiles reset to defaults this issue is resolved. I wonder what setting causes slow downs, though.