aelurum / AssetStudio

AssetStudioMod - modified version of Perfare's AssetStudio, mainly focused on UI optimization and some functionality enhancements.
MIT License
559 stars 41 forks source link

Add an Option to Limit Memory Usage #58

Open mfaathirarsa opened 6 days ago

mfaathirarsa commented 6 days ago

Hello,

I’ve been using AssetStudioMod to load and extract assets, but I’ve encountered challenges with memory usage. Despite upgrading my system from 8GB to 16GB of RAM, I still face difficulties when processing large AssetBundles. While I understand that AssetStudio decompresses and loads bundles directly into memory, this can be problematic for users with hardware on the lower end of the spectrum.

Here are my system specifications:

The specific game I’m working with has an asset size of 1.35GB, and this process still pushes my system's limits.

I’d like to suggest adding a feature to limit memory usage during these processes. For example, this could involve handling bundles in smaller chunks or leveraging temporary storage on disk to reduce RAM requirements. While this might increase processing time, it would greatly enhance accessibility for users with limited system resources.

This feature would make the tool more inclusive and open up its functionality to a wider range of users.

If more information is needed to evaluate this request, I’d be happy to provide:

Thank you for considering this suggestion, and I appreciate the continued development of this fantastic tool!

Best regards,
mfaathirarsa

aelurum commented 2 days ago

Hi. Yeah, that's true. AssetStudio really likes to decompress and store everything in RAM. And this has become one of its main issues as of now. I also have plans to implement disk cache (SSDs are pretty fast nowadays) and/or maybe lazy loading. But when... I'm not sure.

Currently you can try using Razmoth's Studio, which has support for generating asset/cab maps, which can help you find and load only the files you need. There is also a tutorial: https://gist.github.com/Modder4869/0f5371f8879607eb95b8e63badca227e.

Though 16gb of RAM for 1.35gb of assets is still weird. It would be nice if you could specify the game name. Is the memory consumption the same for the net472 version of AssetStudio?