CompactGUI:用 Windows 原生压缩功能,为程序和游戏文件夹瘦身

原始链接在: CompactGUI:用 Windows 原生压缩功能,为程序和游戏文件夹瘦身 - 小众软件

如果你的硬盘不太够用了,又不想换硬盘,那么可以试试用 CompactGUI 来救急,它可以帮你压缩现有文件。比如青小蛙用它压缩了 Epic 游戏文件夹,立省11GB空间。@Appinn

但问题也来了:压缩后会不会占 CPU?会不会影响硬盘读写?游戏还能直接运行吗?

CompactGUI

感谢 @WιΛΛιam Q 的推荐。

最近 CompactGUI 4.0 测试版发布,重新设计了界面。

CompactGUI 是一款利用 Windows 原生工具 compact.exe 的图形界面版本,它使用系统自带的 NTFS 磁盘压缩功能,能够直接压缩现有文件,并且不影响运行,甚至还可能提升启动速度。

以青小蛙的 Epic 游戏文件夹为例,在选择了 XPRESS8K 压缩算法之后,将原本 246GB 的游戏文件,压缩到了 235GB,节省空间 5%。

注意这个压缩不需要解压缩,可以直接运行游戏。

影响 CPU 运行吗?

有同学疑问:没具体看,个人估计运行时需要解压会占用 CPU 时间。

青小蛙去研究了一番,开发者是这样描述的:

Windows 10 引入了一个鲜为人知但非常有用的工具,称为“compact.exe”,允许在运行时压缩磁盘上的文件夹和文件,进行解压。对于任何现代 CPU(我测试过 2010 年的 i3-370M,影响几乎不大),这种额外负载几乎不会被察觉,节省空间的优势在配备较小 SSD 的设备中最为实用。

影响硬盘读写吗?

更有趣的是,由于程序文件夹和游戏可以大幅压缩,还有一个额外好处,就是可能缩短加载时间——尤其是在慢速的机械硬盘上。

万万没想到,机械硬盘竟然以这样一种方式,进行了提速。

获取

注意:可能需要 windowsdesktop-runtime-10.0.11-win-x64 的支持,青小蛙一起打包放到搬运中了。

简单易用,运行后选择想要压缩的文件夹,点击压缩即可(设置中可以选择中文界面)


原文:https://www.appinn.com/compactgui-4/

发现一个bug:

在 windows 的 download 文件夹中运行,然后切换到 Compression DB tab的时候会闪退。
但是把 exe 放到 download 文件夹中的子目录就可以正常运行,观察到似乎是在 download 目录中,.CompactGUIData 目录没有被成功创建。

已发issue:Compression DB tab crashes · Issue #651 · IridiumIO/CompactGUI · GitHub

泼一个冷水:
1.对已压缩的文件再压缩并不能减小体积,例如jpg、webp等图片、hevc或h264压缩的视频、docx等现代格式的文档,或者zip、rar等压缩文件。
2.CompactOS压缩后的文件在win10之前的系统上兼容性并不好,linux、macos也不能保证支持。
3.CompactOS是通过系统微过滤驱动实现的,虽然对用户是透明的,但是仍然有压缩、解压开销。对于频繁访问的文件,并不是一个好选择。对于不频繁访问的文件,为什么不用zip等格式归档呢。
4.那么似乎CompactOS的唯一应用场景是那些未压缩的游戏资源文件了。

3 个赞

一直用着 LZX 模式,好像是压缩率最高的,但就算不知道区在 资源占用、压缩比例、硬盘读写速度,这些方面有多大影响。

我看它的第三个tab也是这个方向,列出的是steam上游戏的压缩比例,可以只在能实现较高压缩率的游戏上应用。

当然,因为又存在潜在的性能损失,所以可能只适用于瓶颈确实在储存上的玩家了。

我处理过一台电脑,硬盘明明只有160+G文件,复制去移动硬盘,结果提示空间不足…需要200+空间…我就想到肯定使用系统的压缩功能压缩过…

好耶

我觉得这玩意有这么个用途:如果有的游戏文件本身没怎么压缩的话,它的数据熵会比较低,这时候拿来进行文件系统级压缩正好合适。反正游戏素材是加载到显存的,不需要考虑运行时随机写入的情况

但要是压缩后的目录不支持原地升级游戏,或者是即便空间足够也会报空间不足的错误,用这玩意临时解除压缩就还算方便。

但有点真想吐槽 :face_with_monocle:

这玩意的安装方式太粗暴了吧,我原以为是安装包呢,结果打开后直接安装到开始菜单了。结果开始菜单里的快捷方式,指向的居然是我的下载目录。

我还是老老实实用scoop或winget安装吧,卸载也用hibit之类的工具

哈哈哈哈天呐

我也发现了,但我完全没反应过来是bug…

我记得CompactGUI历史非常悠久了,一看果然快9年了。

好奇,这个跟 ntfs 自带的压缩有啥区别吗?只要在目录的属性对话框里面选择压缩,传播到子目录就可以把整个目录无感压缩了啊。这个功能在 win2k 的时候就已经存在并且很好用了。当时的机械硬盘用上 ntfs 还能提速。因为对于非常小的文本文件,ntfs 会把它的文件内容合并到元数据块里面,读这个文件就只要读一次就行了。

1 个赞

这个压缩率要高不少。

Dism++好像有这个功能