CompactGUI

IridiumIOGPL-3.0活跃维护

用 Windows 原生压缩 API 给游戏和程序文件夹瘦身,图形界面操作,不用命令行就能省出大量磁盘空间。

Reduce the space taken up by games and programs on disk by using native Windows APIs

v4.0.0-beta.12发布于 2026-09-21 11:07 UTC9,286star +18 / 7 天355fork同步于 2026-11-10 05:30 UTC

怎么上手

从 README 代码块原样提取,可能是其中一种安装方式
winget install CompactGUI
硬件要求

README 没有说明硬件要求。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

这个项目的说明还在生成中,先参考下面「最近发版」和 README。

最近发版

5 个版本v4.0.0-beta.12
  1. v4.0.0-beta.12Version 4.0 Beta 12最新正式版2026-09-21 · 2026-09-21 11:07 UTC

    Changes

    • Low Disk Space Safety Check Changes
      • Added a configuration setting to bypass low disk space warnings #669
      • Redesigned the Compactor/Uncompactor file queue to catch low disk space issues and retry items sequentially (see below). As a result, safe free space requirements are now:
        • Compression: 2x the size of the largest file in the folder
        • Uncompression: Difference between the folder's compressed and uncompressed size, plus the size of the largest file in the folder
    • Compactor Internal Rework
      • The compactor (and uncompactor) now properly catch errors related to being low on disk space, and will then re-attempt those files in sequential mode (one file compression at a time) at the end, just in case enough space had been freed up by previous files being compressed.
    • Hide Tabs
      • Add option to hide Steam Library and Compression DB tabs - for those using it on work PCs. #671

    Tweaks

    • Added config option to disable hardware rendering (config-file only) #658
    • UI Tweaks (added hover effects to library view, changed "Compress x games" to "Compress x items")
    • Performance improvements in the Core library functions

    Builds

    • Finally remembered to create an ARM64 build. Untested as I don't have an ARM device to check it on #556

    Installation

    Binaries
    CompactGUI.exe (10MB):		 Smaller size, but requires .NET 10 Runtime to be installed
    CompactGUI.mono.exe (66MB):	 Fully self-contained and embeds the necessary .NET 10 libraries
    CompactGUI.arm64.exe (10MB): ARM64 build, also requires .NET 10 Runtime to be installed
    
    WinGet
    winget install CompactGUI
    

    [!NOTE] Installing from WinGet automatically installs .NET 10 if required, however it can often take a few days for new releases to become available.

    MD5: 		DFB432FF6E6B9361787954B45846FE02
    SHA-256: 	7E03EF59FBD8638EF96AC911B77518BC03E20903ACFA21BE17C31CA6E2BCDF33
    

    Like this project?

    Please consider leaving a tip on Ko-Fi :)

  2. v4.0.0-beta.11Version 4.0 Beta 112026-09-13 · 2026-09-13 14:00 UTC
    查看更新说明

    Changes

    • Queue Rework
      • The Queue is now more of a real queue with compression respecting the order of operations and with clearer live progress, estimated savings and compression modes displayed.
      • Can be opened from any page in CompactGUI using a button on the left edge.
      • Items can be dragged/dropped to rearrange their order of operation in the queue

    [!NOTE] For the love of God, please don't try dragging items around while the queue is actively running. It will probably go about as well as you can imagine.

    • Steam Library Improvements
      • Added proper support for filtering, multi-selection and sorting.
      • Selecting items will now show a banner for configuration settings to add to the queue.
        • Note if you select a game that is not recommended for compression, it will disable the "Add to Queue" button in the banner; you can still manually add it by right-clicking the item directly.
      • Massive speedup when loading the library view - CompactGUI will show the full game list first and then analyse in the background to avoid slowdowns with large libraries.

    Tweaks

    • Performance and responsiveness
      • Improved general rendering performance, reduced GPU overhead - then promptly added some back by using transparent blurs on the overlays :P
      • More memory checks and leak fixes
    • UI Tweaks
      • Improved compression workflow UI to make things clearer, and also redesigned the results page
      • Instead of a vague “Cancelling…” status, CompactGUI indicates how many active operations are still being cancelled.
      • When compressing/uncompressing, now shows all files that are simultaneously being worked on.
      • Added a bunch of minor polish and animation tweaks across the user interface
    • Safer Compression and Uncompression
      • Checks available disk space very conservatively before starting compression or uncompression. If you do not have at least 50% of the folder's size available as FREE space on the disk, it will prevent you from compressing/uncompressing. This is to try to add protection against Windows since we cannot decide when Windows decides to clean up after compression. If you are close to this threshold, CompactGUI will force itself to run compression WITHOUT paralellism, to avoid multiple compressions occurring at the same time that could go beyond the disk's size. This may be enough to fix the various reports of losing disk space rather than gaining space. This is still a Windows issue however
      • Skip sparse files intentionally during compression
      • Virtual hard-disk images are forced to process one at a time - no idea why people were compressing these but anyway
    • Languages
      • Added Italian #657
      • Added Korean #634
      • Other translations that were updated are now woefully outdated again - sorry to the translators!
      • Language updates now take into account the version of the program as well

    Fixes

    • Fixed a queue deadlock that could occur when pause/cancel were spam-clicked
    • Improved cancellation handling to mitigate race conditions with files being added/removed from active work (this should fix issues where hitting cancel at the wrong time would cause up to 16 extra compression processes being created first which then must finish)
    • Improved cancellation status display when multiple concurrent operations are winding down together.
    • Fix issue with the Steam Library crashing when trying to add a folder to the queue if it's drive letter was stored as a lowercase (c:/ instead of C:/) by Steam. #659

  3. v4.0.0-beta.10Version 4.0 Beta 102026-09-01 · 2026-09-01 13:47 UTC
    查看更新说明

    Lots of changes here, and I've almost certainly overlooked something that will cause issues.

    Changes

    • Added a Steam Library tab
      • Populates and scans through all your Steam Games and checks them against the database to determine a recommended action.
        • Compression level is dependent upon the results as well; for example, if LZX is barely better than XPRESS4K, it will recommend you use XPRESS4K.
      • You can compress items with one click from this page, or right-click the item to add it to the usual queue (for fine-tuned tweaking of e.g. skiplists) or uncompress/check database results.

    [!NOTE] It's not particularly fast as it has to scan all your steam games and analyse them. You can do other things while it is scanning, but I haven't tested for possible issues that could happen if you're loading the Library page and then decide to compress a bunch of games while it is loading. I'm sure there will be a crash in there somewhere.

    • Localisation Rework
      • I hate .resx files, so I've switched to my own localisation library that stores languages as plain .toml files on disk instead and is much easier to develop against.
      • Anyone can edit or create translation files at any time, and it does not require a new build of CompactGUI to be published. You could, for example, create your own translation with any text editor and then submit a pull request on Github to have it added to the repository.
      • Updated translations can be downloaded from within CompactGUI by switching to the required language in the Settings tab and clicking the download icon next to the language selector. This will pull language files from Github. As I type this, I'm realising this won't work for completely new languages. You'll have to manually download those from CompactGUI/Resources/Localisation

    Fixes

    • Fixed many issues with memory allocation (now that it's expensive) to reduce the RAM footprint and avoid memory leaks
    • Fixed issues with the Background Watcher:
      • Watcher could not resume if an idle background compressor was paused due to system activity resuming
      • Watcher mode could not be toggled from Idle > Scheduled without restarting the program
    • Fix a crash if you try to open the Database tab before it has been downloaded properly #651
    • Watched folders on external drives are no longer assumed to be deleted, and are instead flagged with a warning on the Watcher. #625

    Installation

    Binaries
    CompactGUI.exe (9MB):		 Smaller size, but requires .NET 10 Runtime to be installed
    CompactGUI.mono.exe (65MB):	 Fully self-contained and embeds the necessary .NET 10 libraries
    
    WinGet
    winget install CompactGUI
    

    [!NOTE] Installing from WinGet automatically installs .NET 10 if required, however it can often take a few days for new releases to become available.

    MD5: 		5F158F9F8ED9FE9FEBA1E0262A33C3EC
    SHA-256: 	F490BD29AAB36A4E8FE222D284FC6EA0EA53533B13416D2AC8BE3D756F96C6E0
    

    Like this project?

    Please consider leaving a tip on Ko-Fi :)

  4. v4.0.0-beta.9Version 4.0 Beta 92026-08-26 · 2026-08-26 05:23 UTC
    查看更新说明

    Quick Fix

    • Actually implemented the DirectStorage badge check. I messed it up in the last release and it never worked. Whoops.
      • The DirectStorage check now also uses the full folder tree in case developers hide the dstorage.dll file in other folders. Now that more games support DirectStorage, they aren't using standard folders anymore. This means that if you - for example - try to compress your entire Steam folder and it contains a DirectStorage game, you will get a warning.

    Installation

    Binaries
    CompactGUI.exe (9MB):		 Smaller size, but requires .NET 10 Runtime to be installed
    CompactGUI.mono.exe (65MB):	 Fully self-contained and embeds the necessary .NET 10 libraries
    
    WinGet
    winget install CompactGUI
    

    [!NOTE] Installing from WinGet automatically installs .NET 10 if required, however it can often take a few days for new releases to become available.

    MD5: 		C7BE3C0F4691F2A98ABD28BEFABD5371
    SHA-256: 	43141EE25B392ECA42CCCD2A3B89627B122B709D1C769706E08EF9AC41560FB9
    

    Like this project?

    Please consider leaving a tip on Ko-Fi :)

  5. v4.0.0-beta.8Version 4.0 Beta 82026-08-25 · 2026-08-25 13:02 UTC
    查看更新说明

    Sorry it's been so long, I lost track of time for a while and then have been focusing on other hobby projects for my own sanity :)

    Changes

    • Improved File Extension Exclusion list

      • Exclusions can now be set per folder and are remembered if you add the folder to the Watcher
      • The skiplist editor is now way less laggy. No idea why I left it broken for so long.
      • Exclusions can now include who folders or paths, utilising Glob path formatting: #604
        • Check here for proper formatting, but for backwards compatibility and sanity, you can still use .pak in place of **/*.pak.
      • Condensed the Skip List choices into the new extension exclusions view
        • Changed the name of Wiki/Database/Estimator skiplists to just be called "Smart" skipping.
        • The skiplist will show all extensions in the folder sorted by frequency so you can easily add/remove extensions to skip.
    • Added a True Portable Mode

      • Placing CompactGUI.exe in a folder called compactgui (any caps) will cause it to store its configuration files next to the exe instead of in the %LocalAppData% folder.
    • Added a DirectStorage Indicator #641

      • For the 3 people that need it, there is now a DirectStorage badge next to the folder name when you select a folder for a game that might use DirectStorage. This is persistent unlike the notification toast.
      • Unfortunately I don't actually have any games that use DirectStorage so hopefully I didn't bork this.

    Backend

    • Updated to .NET 10

    Fixes

    • Minor UI tweaks and layout fixes
    • Fixed help icon being overlapped on the Settings page for some languages

    Translation

    Honestly translation support is an actual pain in the neck. I cannot stress how much I hate the .resx localisation setup requiring extra cognitive work and setting up of keys everytime you want to write something. So I will apologise in advance for the absolute travesty that is the current translation state. In fact, I wrote my own localisation interpreter for another project just to avoid this pain, so I'll probably migrate it all over at some point.

    There are wonderful contributors who will no doubt patch things up and I thank them in advance, and I will push updates for those languages ASAP. I have used a mix of AI and Google Translate to translate some of the new strings in this update just to have something, and I am fully aware that those will be poorly represented.


    Installation

    Binaries
    CompactGUI.exe (9MB):		 Smaller size, but requires .NET 10 Runtime to be installed
    CompactGUI.mono.exe (65MB):	 Fully self-contained and embeds the necessary .NET 10 libraries
    
    WinGet
    winget install CompactGUI
    

    [!NOTE] Installing from WinGet automatically installs .NET 10 if required, however it can often take a few days for new releases to become available.

    MD5: 		E74243ED1D07DD87E159CA4E9099113D
    SHA-256: 	4B0456B76F43CF1BAE03DBDB4F2EDBFEC775E826A970F19467A56106257CF519
    

    Like this project?

    Please consider leaving a tip on Ko-Fi :)

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

       


     

    How it works:

    CompactGUI is a friendly interface that makes use of the underlying filesystem compression algorithms exposed by the Windows Overlay Filter (WOF) Driver, utilising high-performance compression that was first introduced in Windows 10. It allows compression of any files or folders (with a focus on games) to occur transparently, without any resultant performance loss and allowing large disk storage savings.

    Transparently? What does that mean?

    Transparent compression means that files can still be used normally on the computer as if nothing had happened - they don't get repackaged like Zip and Rar files do. You can still browse, launch games and programs exactly as you did before, except they take up less space.

    How is this different from the built-in compression in older versions of Windows?

    This is similar to the old compression built-in to Windows (Right click > Properties > Compress to save space) however the newer algorithms introduced in Windows 10+ are far superior, resulting in greater compression ratios with almost no performance impact. More information can be found here

    Or install with Winget:

    winget install CompactGUI
    

    Uses

    Use this tool to compress folders while still being able to use/run them normally:

    • Reduce the size of games (e.g. ARK-Survival Evolved: 169 GB > 91.2 GB)
    • Reduce the size of programs (e.g. Adobe Photoshop: 1.71 GB > 886 MB)
    • Compress any other folder on your computer

    Extra Features

    • Visual feedback on compression progress and statistics
    • Configurable list of poorly-compressed filetypes that can be skipped, editable per-folder
    • Compression Estimation - built using over 100,000 community submission (honestly it was way more, but I didn't realise google forms broke at 100,000 so I've lost a lot of submissions) for accurate data on many Steam Games
      • Non-Steam games can still utilise an algorithmic estimation instead that still gives a reasonable idea of compressability.
      • If you would like to contribute, Steam game results can be submitted to the online database from within CompactGUI
    • Integration into Windows Explorer context menus for easier use.
    • Analyze the status of existing folders
    • Background Watcher - keeps track of folders and monitors them for changes (e.g. Steam game updates) and automatically keeps them compressed in the background.

    Caveat

    This tool should not be used on games that utilise DirectStorage on Windows 11.

    DirectStorage is a new API that allows games to load assets directly from the SSD, bypassing the CPU. Compressed files will need to be decompressed before being sent to the GPU, which will negate any performance gains.

    Background

    Windows 10 introduced a little-known but very useful tool called compact.exe that allows one to compress folders and files on disk, decompressing them at runtime. With any modern CPU (I have tested as old as an i3-370M from 2010 with negligible impact), this added load is hardly noticed, and the space savings are of most use on those with smaller SSDs.

    As program folders and games can be shrunk by up to 60%, this has the added bonus of potentially reducing load times - especially on slower HDDs.

    More information on the inbuilt Windows function can be found here and here or by typing compact /q into the commandline

    This tool is intentionally designed to only compress folders and files. Whole drives and entire Windows installations cannot be modified from within CompactGUI - users seeking that functionality should use compact /compactOS from the commandline.

    The compression is fully transparent - programs, games and files can still be accessed as normal, and show up in Explorer as they normally would — they'll just be decompressed into RAM at runtime, staying compressed on disk.

    Compression Modes

    By default, the program runs Compact with the XPRESS8K algorithm active. This provides a good balance between compression speed and size reduction. The default that Windows uses is XPRESS4K which is faster but compresses less.

    Optional Compression Modes:

    AlgorithmCore AdvantagesDetailed Description
    XPRESS4KFastest, but weakestSuitable for game files with extremely high read speed requirements, it can maximize performance while compressing.
    XPRESS8KBalance of speed and compressionA better balance has been achieved between compression speed and compression ratio.
    XPRESS16KSlower, but strongerSuitable for scenarios with limited storage space and low loading speed requirements.
    LZXSlowest, but strongestSuitable for storing archived files, backup data, or cold data that is not frequently accessed.

    Like this project?

    Please consider leaving a tip on Ko-Fi :)