Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
134 stars 2 forks source link

Automated Cache Invalidation #140

Open troyBORG opened 11 months ago

troyBORG commented 11 months ago

Is your feature request related to a problem? Please describe.

This is a feature from a mod that I believe should be in the game by default

Describe the solution you'd like

I would like to be able to tell the game how big I want to allow the Cache folder to grow, and if the cache hasn't been used in so many days to also allow it to expire.

An example would be 50GB or 60 days

Describe alternatives you've considered

https://github.com/dfgHiatus/CacheGetClapped

Additional Context

No response

Ruikio commented 11 months ago

On board with this. Signed, guy who had 70 GB of stuff cached on the last platform and should have checked sooner.

Bisclaveret commented 11 months ago

Same. Also, 70gb of cache? Those are rookie numbers. you gotta pump up those numbers. i have 55gb on reso just from the 26th to now.

troyBORG commented 11 months ago

i have 55gb on reso just from the 26th to now.

I only have 36.6GB starting from the 26th also.

Bisclaveret commented 11 months ago

A perhaps related issue to tie in with this, I know i've discussed this with Bontebonk regarding the behavior on the previous platform.

The litedb does not shrink after deleting the cache. It continues to grow and gets slower the more items you've cached. After clearing my cache several times I was left with a relatively large litedb in my neos folder as well as the asset cache for it which still took up a bunch of room on my SSD. It seems it retains all the entries from the previous cache and doesn't purge/truncate things that it can no longer see as cached, even on a --repair command. One would think the DB, on a rebuild, after finding no local asset store and no cache, would be fresh, but it wasn't.

Is there a way to tie this in to some kind of garbage collect/pruning/truncating of the DB so that it doesn't continue to grow inordinately large with entries that no longer exist?

shiftyscales commented 10 months ago

If it's a separate functionality/work item, it needs a separate issue, @Bisclaveret.

shiftyscales commented 6 months ago

While looking into the questions raised in #1429 - I learned that by default Resonite is marking its cache files as hidden- this seems to prevent these files from being automatically cleaned up/managed by Windows. Perhaps this was an oversight? Or was it by design?

We might not have to implement this functionality ourselves if the cleanup is handled at the OS-level, @Frooxius @ProbablePrime.

Frooxius commented 2 months ago

@shiftyscales This is intentional. It's because of concerns some users had with those files being visible.

I don't know how Windows manages things like the cache for this stuff, so I can't evaluate if that'd be viable.

My guess is that it wouldn't though, because Resonite should keep track of which files are used how often and make decisions to cleanup based on that.

Additionally our cleanup would also cleanup the Data folder as well, which requires more complex logic to figure out what's safe to remove.