csete / gpredict

Gpredict satellite tracking application
http://gpredict.oz9aec.net/
GNU General Public License v2.0
833 stars 247 forks source link

Large number of satellites in database files cause program to freeze #264

Open marsfan opened 3 years ago

marsfan commented 3 years ago

This is quite the edge case, but I figured that I should report it. I would look into it myself, but I don't believe that I know enough C to be of use.

System Specifications

Windows 10 x64 GPredict 2.3.37

The issue

When running GPredict 2.3.37 on Windows, if the database of satellite TLE files is very large, trying to open configuration menu to add or remove satellites to the interface will cause the program to freeze for a significant period of time, eventually loading the configuration interface.

I suspect this is because the program is taking a long time to parse the entire list of satellites.

To Reproduce

  1. Add a very large number of satellites to gpredict (Try adding all of the TLEs from space-track.org as an [excessive] example)
  2. Open the menu to configure satellites displayed on the main interface

Potential solutions

Complex Solution

Re-Implement the mechanism for loading satellites to display in the configuration menu.

Simple Solution

Add a "Loading Satellites" progress bar to indicate progress, and prevent the operating system from thinking that the program is no longer responding. Similar to the symbol loading process in KiCAD

KiCAD Symbol Loader Image ![image](https://user-images.githubusercontent.com/9311953/119088672-e365f700-b9bd-11eb-9049-c38df2ae6722.png)
csete commented 2 years ago

Thanks for reporting this issue. I agree that we should improve this.