Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Quick Preview: No rescanning of roots, just preview currently found games #260

Closed
redactedscribe opened this issue Aug 22, 2023 · 3 comments
Labels
enhancement New feature or request
Milestone

Comments

@redactedscribe
Copy link

What's your idea?

Each entry has a preview option which can be triggered, but this cannot be done for all games in the list unless you go through one-by-one, which would be tedious, or to just click Preview at the top of the list and re-scan all roots.

In my case, re-scanning takes 65 seconds each time, when I presume it'd be much faster if no scan took place and only the currently found games were to be refreshed. Something like this would let me open Ludusavi, and perform a Quick Preview for all games when I know I haven't installed any new games, so a rescan isn't necessary (as far as I understand how the program works).

Recent issues I've made have been suggesting ideas that relate to some kind of restructuring of Ludusavi, and unfortunately, here is another 😄:

The Preview button at the top. "Preview"? Is this a holdover from the initial concept of Ludusavi in its primitive form? To me, the button acts more like a scan. This could be simply due to the fact it takes me 65 seconds to repopulate the list, whereas in your case in some of the videos you've posted, it takes you much less time. It behaves like a scan, not something quick like a preview on your end. So I propose that it be renamed to "Scan". What I suggest in this issue as a "Quick Preview" could then just be a "Preview", or "Refresh"? I think I understand why it's called "Preview", because it populates the list and previews what will be backed up, but I guess that's just not how I think of it. I'm sure I've written enough ideas for today so I'll leave it at that! I may have even suggested something similar in the past, forgive me... 🙂

Thanks.

@redactedscribe redactedscribe added the enhancement New feature or request label Aug 22, 2023
@mtkennerly
Copy link
Owner

I'm sure I've written enough ideas for today so I'll leave it at that! I may have even suggested something similar in the past, forgive me... 🙂

No worries! I appreciate all of your feedback, and I think the discussion can be quite thoughtful :)

There's some overlap with #201. I'm open to adding an "only scan the games that are already in the list" option. I'm just not quite sure how best to fit it into the GUI (new button? modifier? checkbox?).

I think I understand why it's called "Preview", because it populates the list and previews what will be backed up, but I guess that's just not how I think of it.

I don't feel very strongly, but I think this is a fairly subjective point. To me, "scan" and "preview" are roughly equally clear: "[do a scan and] show me [a preview of] what would be backed up". Technically, a "quick preview" would still perform a scan anyway (more on that below).

when I presume it'd be much faster if no scan took place and only the currently found games were to be refreshed

so a rescan isn't necessary (as far as I understand how the program works).

I'll comment on how it works internally, although this is probably too pedantic to be useful in the context of how an end user will interpret the buttons 😅

Internally, a scan will basically:

  • Take a list of games
  • For each game, compute the possible save paths
  • For each save path, check if it exists

When you use the preview button up top or in a game's context menu, the only difference is how many games are in the list to scan (46,488 or just 1). With your suggestion, the input list would be whichever games are shown in the backup tab, but it would ultimately be the same kind of scan as the others.

Also, if you do a full preview, backup, and then backup again, you'll notice that the first backup is much faster than the second. That's because a preview followed by a backup will use the list of previewed games to constrain the input list, as an optimization, like what you've suggested. However, the backup does still perform another scan of those games, just in case any of their files might have changed since the preview, since that's what it uses for the new/updated/removed status displays/etc.

@mtkennerly
Copy link
Owner

I've implemented this via filtering. This also lets you scan specific subsets of games:

filtered-scan.mp4

@redactedscribe
Copy link
Author

A reasonable approach. I like it. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants