ABaumher / galaxy-integration-steam

Integration with Steam for Galaxy
Other
770 stars 18 forks source link

Massive install libraries cause the client to shutdown the plugin. #34

Open ABaumher opened 1 year ago

ABaumher commented 1 year ago

GOG seems to give us about 20 seconds of blocking code execution before sending us a shutdown. Currently the code tries to synchronously determine this data. It may be possible to fix.

ABaumher commented 1 year ago

@engiefox i may have a solution here, but i'll need a minute.

don-de-marco commented 1 year ago

Just cross-posting this here: This code just collects some file paths and is done quickly. The most work is done in get_game_size below that where for each game the corresponding state file (these .vcf files in your steamapps folders) is parsed and the size returned. There's no heavy lifting going on and the GIL only is of concern when there's lots of processing, which we do not have here either. IMO it's just the I/O that's hitting us hard because we need to read a couple of hundreds of files. And that just takes time, using executors would make it even worse because of the overhead introduced by using them

GabrielAdrianAlves commented 1 year ago

I'm having an issue with the sync since I added a shared family library. My error message is this:

"steam_network.cache_proto - INFO - Timed out waiting for games cache to get ready"

Last player works, list of games works. But achievements and total played time are not updating. My library now with the shared family library has 3281 games. I understand it's not a common library size, but is it possible to make it work?

ABaumher commented 1 year ago

We're working on something, but that's a different issue than the one here. You can try our latest test build, which another user with a large library has been testing. I'll see if i can get a zipped version so you don't have to do the install process manually.

ABaumher commented 1 year ago

@GabrielAdrianAlves give this a try. This is based off of Version 1.0.5, with a bevy of improvements. We just merged in the patches from 1.0.6 and 1.0.7, and it is possible we messed up something in this process, so if you hit bugs, let us know.

steam_v1.1.0_alpha.zip

Edit: the best place to post any issues would be https://github.com/ABaumher/galaxy-integration-steam/discussions/17 Update: There's an issue with removing games from your library in this build. It's a known issue but won't be addressed immediately (we have other things that need to be done as well).

GabrielAdrianAlves commented 1 year ago

Awesome thank you @ABaumher . I will give it a try and report back any outstanding findings in #17 .

For an update, today the played times of the games I've played recently updated, but the achievements didn't. Maybe it's just taking a really long time because of how big the library is now.

don-de-marco commented 1 year ago

yeah, achievements sync just takes ages for larger libraries. unfortunately, currently there's nothing much we can do about it besides rewriting the whole code that does the import