古詩詞大全網 - 藝術簽名 - 壹篇文章讓妳搞懂X-Cache的加速原理

壹篇文章讓妳搞懂X-Cache的加速原理

最近琴梨梨給自己的大部分綠化單文件作品不僅加了數字簽名,還加了這種被琴梨梨稱為X-Cache的加速技術,現在琴梨梨就來講講這個X-Cache到底是怎麽加速的

X-Cache看上去不像是技術倒更像是壹種思路。

首先我們需要明白的是X-Cache所適用的場景,是單文件綠化版的軟件/遊戲。

這樣的單文件綠化後啟動時電腦做了啥我們來看看。

單文件綠化版實際上都是壹個特殊的自解壓文件

以琴梨梨的AIDA64綠化版為例

Step1讀取自解壓文件參數,我們通過壓縮軟件來查看自解壓參數(後面括號內為琴梨梨手動添加的註釋)

Step2釋放了壹個啟動界面並運行

Step3逐漸釋放所有文件

Step4啟動主程序

Step5自解壓進程在後臺監視

Step6用戶結束軟件,自解壓進程清理緩存並退出

而用戶關閉不到五秒,想起還有操作沒有完成

於是又要重新來壹遍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無法發揮最大優勢

再次運行確定這就是當前目錄結構不會改變後,打包,推薦使用7z極限壓縮節約空間

得到這樣壹個壓縮包,打開壓縮包點擊自解壓(可以使用好壓,winrar等支持生成帶自定義自解壓文件的壓縮軟件)

和正常的制作過程壹樣,拆包拿圖標並設置

在“更新”標簽頁內分別選擇解壓並更新文件和覆蓋所有文件

設置解壓路徑為妳制定的緩存目錄,這裏琴梨梨設置在C盤建立KOTORI_GameCache文件夾

同時和傳統方法壹樣設置解壓後解壓前和預釋放文件

在模式裏選擇全部隱藏,當然也可以隱藏啟動對話框來顯示進度,個人傾向選擇全部隱藏來保證高配機器上的優質體驗

如果妳的軟件需要管理員權限,別忘了勾上請求管理員權限的勾(可能顯示為管理員密碼/UAC等字樣)

推薦先把資源管理器返回上層目錄,否則高配機器可能會出現無法寫入被占用的情況(資源管理器搶先壹步占用)

耐心等待處理完成

最後給自解壓文件套個upx殼節約空間

接下來讓我們來測試壹下

點擊運行,可以看到開始大量寫入

在緩存文件夾內我們找到了釋放出的文件

遊戲正常運行

退出遊戲,緩存保留

再次啟動,可以看到啟動時只有cpu狂飆,不再有硬盤寫入

觀察修改時間,確定的確沒有修改文件

現在我們隨意刪除緩存中的文件

啟動時這個文件又壹次被釋放

緩存目錄又找到了這個文件

現在我們看看如果得到了新的綠化版本後會怎麽樣

這是原來的配置文件

對自解壓內的配置文件動手腳並保存

運行修改後的文件,沒有全部覆蓋

打開緩存目錄的配置文件,很明顯已經變成了修改後的內容

看修改時間確定是新的

現在刪光緩存目錄

再次啟動運行正常

緩存目錄再次出現文件

到這裏妳應該已經明白X-Cache的原理了吧,即創建壹個非及時刪除的緩存來加速載入,對於硬盤較慢用戶加速明顯

而且X-Cache壹點也不高高在上,借助壓縮軟件,小白也能輕輕松松做出來,所有琴梨梨才會說這更像是壹種思路,壹種讓緩存留的久壹些的思路

點壹下喜歡好不好嘛

琴梨梨黑歷史大全套

支持雲簽到的貼吧雲工具箱

老APP也可以後臺純凈!

小巧好用的MD5校驗工具

就是有帶背景截圖這種操作!