Changes
- Rewrote the backend to no longer use
compact.exe
and instead directly access the Win32 API for file compression/decompression.- This should make CompactGUI even faster especially when compressing folders with lots of tiny files.
- At absolute worst, it should be no slower than running
compact.exe
directly, and uses much less CPU power as it's no longer spawning dozens of new processes to try to compensate. - Interestingly, the
WofSetFileDataLocation
function that replaces it has some form of built-in detection to automatically skip files if they're not going to compress well. Neat. - The first time you try this version, please use it on a non-essential folder and then check that the files are okay before compressing anything else. I have no reason to suspect there will be issues, but just to be safe :)
- Subjective benchmark of Stardew Valley which has a lot of tiny files and really crippled the old version:
Stardew Valley | 700 MB | 6800 Files compact.exe: 17.34s Baseline CompactGUI v2.6.2: 81.79s 471% slower CompactGUI v3 a2: 17.82s 2.7% slower CompactGUI v3 a3: 12.95s 25% faster # probably because it doesn't check files yet
- Added version checker
- if a new version is available, a banner will show up at the bottom with a link to this page
Fixes
- Fixed progress bar sometimes momentarily starting at 100% if a folder was recently uncompressed
Important!
Because this application now uses .NET 6, you have two choices of downloads:
CompactGUI.exe
(3.1MB) RECOMMENDED- If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
CompactGUI-Integrated.zip
(150MB extracted) NOT RECOMMENDED- Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).
File Checksums
MD5: F8D18BA39768F4906FACF44D49814133
SHA-256: 07A7D2F4B1CEEE49AECB39435F9C25AF5A259FB005BC2C6F17B5F07C3D6E9DF5
Full Changelog: v3.0.0-alpha.2...v3.0.0-alpha.3