一篇文章让你搞懂X-Cache的加速原理

最近琴梨梨给自己的大部分绿化单文件作品不仅加了数字签名,还加了这种被琴梨梨称为X-Cache的加速技术,现在琴梨梨就来讲讲这个X-Cache到底是怎么加速的

X-Cache看上去不像是技术倒更像是一种思路。

首先我们需要明白的是X-Cache所适用的场景,是单文件绿化版的软件/游戏。

这样的单文件绿化后启动时电脑做了啥我们来看看。

单文件绿化版实际上都是一个特殊的自解压文件

以琴梨梨的AIDA64绿化版为例

Step1读取自解压文件参数,我们通过压缩软件来查看自解压参数(后面括号内为琴梨梨手动添加的注释)

;下面的注释包含自解压脚本命令

Overwrite=1(覆盖参数)

PreExtract="KOTORILAUNCHER.exe";"LAUNCH.exe";"LAUNCHER.exe"(提前释放的文件,一般为启动界面)

Presetup="LAUNCH.exe"(提前释放后提前运行的文件)

Setup="aida64.exe"(释放完成后运行的文件)

TempMode(释放到临时目录)

Silent=1(静默模式

Step2释放了一个启动界面并运行

一篇文章让你搞懂X-Cache的加速原理_第1张图片

Step3逐渐释放所有文件

Step4启动主程序

Step5自解压进程在后台监视

Step6用户结束软件,自解压进程清理缓存并退出

一篇文章让你搞懂X-Cache的加速原理_第2张图片

而用户关闭不到五秒,想起还有操作没有完成

于是又要重新来一遍6个步骤

其中释放文件对硬盘的消耗很大,这也是绿化版软件启动慢的致命问题,在HDD上尤其突出

那么既然用户可能不仅仅使用一次,而释放的文件都是相同的,为什么不先留着这些文件呢?这样下次启动时就不要完整释放,加快启动速度

这就是X-Cache诞生的原因,让文件缓存留下来,同时又可以和正常的缓存一样随意删除不影响使用

众所周知,Windows的缓存目录%temp%用于存放一次性的,使用后就可以删除的文件,而且系统也会自动清理,尤其到了win10加入了存储感知,清理更加频繁。而且作为绿化软件的缓存,不属于一次性内容,因此我们必须跳出缓存目录%temp%,再找个目录作为文件缓存

这时候我们可以考虑这几个文件夹

1,program files

程序目录,优点是不会污染用户的眼睛,整齐。缺点是需要管理员权限写入,而且文件目录带空格,对于自解压文件来说不友好,而且还要对x86和x64机器做区分,比较麻烦。(想象一下,一个视频转换工具请求管理员权限还问你是x86还是x64,你觉得正常嘛?)

这个目录适合本身就需要管理员权限启动并且本身仅仅适配x64的软件

2,AppData

数据目录,优点是随便写不用管权限,缺点是不支持多用户,而且自解压本身对于%username%这样的变量不友好,如果用户使用中文等非英文用户名,一部分程序会打不开,另外选择这个目录就是放弃XP用户。(虽然琴梨梨已经彻底放弃XP用户了)

3,在别的盘根目录下建文件夹

很多东西都这么干甚至包括某些巨硬的补丁,但是除了补丁等适配做的好的东西,其他大部分遇到只有一个盘的机器时就懵逼了。(软件内心:欸D盘哪去了)

优点是整齐,便于用户管理,缺点是不适配主流的单分区用户。

4,在系统盘根目录建文件夹

其实系统盘根目录是不需要管理员权限就能写入的,在这里建文件夹不仅兼容性好而且也比较方便用户管理。琴梨梨选择的就是这个位置。

那么选好了文件夹,接下来就要考虑用户可能不仅仅用一个绿化软件,而一个软件就建一个文件夹容易把根目录弄得很难看

对于这个问题,琴梨梨的方案是建立一个大文件夹,里面按软件分子文件夹解决,这样还方便用户删除不需要的缓存

接下来我们就要了解X-Cache和传统方式区别在哪里

首次启动:和传统方式一样释放文件,只是释放到指定目录,同时退出时不删除文件

第二次启动:检测到上次留下的文件,判断文件版本是否相符,相符则跳过,不相符则覆盖

确定原理后我们接下来就可以操作了

琴梨梨以一个打包后180M左右的游戏为例

这是一个CAB自解压

一篇文章让你搞懂X-Cache的加速原理_第3张图片

先解包运行一次

发现游戏自动整理了文件

值得一提的是对于这种首次启动会大幅度修改目录结构的软件/游戏,自己先运行一次再打包,否则X-Cache无法发挥最大优势

一篇文章让你搞懂X-Cache的加速原理_第4张图片

再次运行确定这就是当前目录结构不会改变后,打包,推荐使用7z极限压缩节约空间

得到这样一个压缩包,打开压缩包点击自解压(可以使用好压,winrar等支持生成带自定义自解压文件的压缩软件)

一篇文章让你搞懂X-Cache的加速原理_第5张图片

和正常的制作过程一样,拆包拿图标并设置

一篇文章让你搞懂X-Cache的加速原理_第6张图片

在“更新”标签页内分别选择解压并更新文件和覆盖所有文件

一篇文章让你搞懂X-Cache的加速原理_第7张图片

设置解压路径为你制定的缓存目录,这里琴梨梨设置在C盘建立KOTORI_GameCache文件夹

同时和传统方法一样设置解压后解压前和预释放文件

一篇文章让你搞懂X-Cache的加速原理_第8张图片

在模式里选择全部隐藏,当然也可以隐藏启动对话框来显示进度,个人倾向选择全部隐藏来保证高配机器上的优质体验

一篇文章让你搞懂X-Cache的加速原理_第9张图片

如果你的软件需要管理员权限,别忘了勾上请求管理员权限的勾(可能显示为管理员密码/UAC等字样)

一篇文章让你搞懂X-Cache的加速原理_第10张图片

推荐先把资源管理器返回上层目录,否则高配机器可能会出现无法写入被占用的情况(资源管理器抢先一步占用)

一篇文章让你搞懂X-Cache的加速原理_第11张图片

耐心等待处理完成

一篇文章让你搞懂X-Cache的加速原理_第12张图片

最后给自解压文件套个upx壳节约空间

一篇文章让你搞懂X-Cache的加速原理_第13张图片

接下来让我们来测试一下

点击运行,可以看到开始大量写入

一篇文章让你搞懂X-Cache的加速原理_第14张图片

在缓存文件夹内我们找到了释放出的文件

一篇文章让你搞懂X-Cache的加速原理_第15张图片

游戏正常运行

退出游戏,缓存保留

一篇文章让你搞懂X-Cache的加速原理_第16张图片

再次启动,可以看到启动时只有cpu狂飙,不再有硬盘写入

一篇文章让你搞懂X-Cache的加速原理_第17张图片

观察修改时间,确定的确没有修改文件

一篇文章让你搞懂X-Cache的加速原理_第18张图片

现在我们随意删除缓存中的文件

一篇文章让你搞懂X-Cache的加速原理_第19张图片

启动时这个文件又一次被释放

一篇文章让你搞懂X-Cache的加速原理_第20张图片

缓存目录又找到了这个文件

一篇文章让你搞懂X-Cache的加速原理_第21张图片

现在我们看看如果得到了新的绿化版本后会怎么样

这是原来的配置文件

一篇文章让你搞懂X-Cache的加速原理_第22张图片

对自解压内的配置文件动手脚并保存

一篇文章让你搞懂X-Cache的加速原理_第23张图片
一篇文章让你搞懂X-Cache的加速原理_第24张图片

运行修改后的文件,没有全部覆盖

一篇文章让你搞懂X-Cache的加速原理_第25张图片

打开缓存目录的配置文件,很明显已经变成了修改后的内容

一篇文章让你搞懂X-Cache的加速原理_第26张图片

看修改时间确定是新的

一篇文章让你搞懂X-Cache的加速原理_第27张图片

现在删光缓存目录

一篇文章让你搞懂X-Cache的加速原理_第28张图片

再次启动运行正常

缓存目录再次出现文件

一篇文章让你搞懂X-Cache的加速原理_第29张图片

到这里你应该已经明白X-Cache的原理了吧,即创建一个非及时删除的缓存来加速载入,对于硬盘较慢用户加速明显

而且X-Cache一点也不高高在上,借助压缩软件,小白也能轻轻松松做出来,所有琴梨梨才会说这更像是一种思路,一种让缓存留的久一些的思路





点一下喜欢好不好嘛

琴梨梨黑历史大全套

支持云签到的贴吧云工具箱

老APP也可以后台纯净!

小巧好用的MD5校验工具

就是有带背景截图这种操作!

你可能感兴趣的:(一篇文章让你搞懂X-Cache的加速原理)