organicmaps / organicmaps

🍃 Organic Maps is a free Android & iOS offline maps app for travelers, tourists, hikers, and cyclists. It uses crowd-sourced OpenStreetMap data and is developed with love by MapsWithMe (MapsMe) founders and our community. No ads, no tracking, no data collection, no crapware. Please donate to support the development!
https://organicmaps.app
Apache License 2.0
8.58k stars 837 forks source link

[ios] Add more time in recent track #7951

Open itfarrier opened 2 weeks ago

itfarrier commented 2 weeks ago

This PR implements https://github.com/organicmaps/organicmaps/issues/6462 only for iOS:

biodranik commented 2 weeks ago

Thanks! Did you test:

  1. How much data will it take to store 3 days or a week of points?
  2. How is the app slowed down with a week of points present/rendered on the screen?
  3. Is the map still usable if you travel/move a lot? Won't points cover all the screen and distract you from everything else on the map?
itfarrier commented 1 week ago

Thanks! Did you test:

  1. How much data will it take to store 3 days or a week of points?
  2. How is the app slowed down with a week of points present/rendered on the screen?
  3. Is the map still usable if you travel/move a lot? Won't points cover all the screen and distract you from everything else on the map?

Sorry, but of course not. Could you please guide me through the processes for addressing each of the three inquiries you've outlined?

Should I implement my own log in map/gps_tracker.hpp (cpp) for debug? Maybe we already have some approaches for above? I would be appreciate for assist me. Thanks.

biodranik commented 1 week ago
  1. The size can be estimated from existing data size. You can check/log it programmatically on a device or simulator and then multiply by a number of seconds/minutes/hours etc.
  2. Battery usage can be tracked/compared on the release build on the same device.
  3. By knowing how many points will be stored there (I assume that in the worst case 1 point for 1 second, meaning 606024*7 = 604K points, theoretical maximum for 7 days), you can generate/simulate these points in different coordinates nearby. I think 100-200K points would be enough. And check if the app is still usable (I highly doubt it).

Check the underlying code that stores data to better understand how to simulate a lot of data there.

It would be also great to profile how CPU/GPU usage increases depending on a number of points, and where is the issue in the code that consumes a lot of CPU/GPU, which can be improved.

Jean-BaptisteC commented 1 week ago

Can you remove merge branch commits and rebase your branch?

itfarrier commented 1 week ago

Can you remove merge branch commits and rebase your branch?

Yes, of course. Sorry for that. P. S. And for automatically closed and reopened by hand PR too.