[BUG] high CPU usage when disconnected
Describe the bug
If in a middle of a download, your connection goes out, the CPU usage goes up significantly.
To Reproduce
Steps to reproduce the behavior:
- Start a new download.
- Disable wi-fi or disconnect ethernet.
- Observe CPU usage.
Expected behavior
CPU usage shouldn't be so high when it's doing nothing.
System information
Please complete the following information
- Operating system: Windows 11
- Version: 1.10.11
- Installation method: scoop
- Python version: scoop managed
Additional context
I'm also surprised at the usage of 4GiB of ram for a downloader. On the other hand, I really appreciate that the downloads are resumable.
Oh wait, could this be an issue with legendary? I reported this here because the name of the executable is rare but I see now it's just using legendary as a library.
If in a middle of a download, your connection goes out, the CPU usage goes up significantly.
I reported this here because the name of the executable is
rarebut I see now it's just usinglegendaryas a library.
I can reproduce this issue locally when disconnecting the network cable too with both Rare and using Legendary's CLI interface. If you can reproduce it with Legendary too, opening an issue there too could be useful. On our side, I have to look into it further still, so I don't know if it is amendable.
I'm also surprised at the usage of 4GiB of ram for a downloader.
This depends on when the RAM usage was measured. Most of Rare's RAM usage comes from the game cover art loaded to display the library, so depending on the size of the library it can get "high", but to give you a reference, my own library with 400+ games, Rare uses around 360MiB of RAM and around 150MiB of that is Qt's libraries.
If the RAM usage was measures while downloading that is largely outside of Rare's control (and Legendary can't do much about it either until it has an on-disk cache mechanism) and it depends on the game itself, the number of download workers and the maximum shared memory defined in settings (workers default to the number of CPU cores and the shared memory depends on the game's assets, if they are unset).