iso格式作為單文件封裝破解單機游戲的實用性簡短探究
前幾天網(wǎng)上沖浪的時候,看到某掌機群群友提出了一個很有意思的觀點

按理來說,我們印象里的單機游戲都是以rar或者7z格式分卷下載下來以后,解壓后成為單獨的文件夾,然后在文件夾里找到文件的主程序運行才能進行游戲。
眾所周知,現(xiàn)代大型3A游戲很多材質(zhì)包和文件都是以小文件的形式存在的,數(shù)目眾多大小不一的游戲文件很顯然會在游戲移動和拷貝的時候拖延時間,因為在拷貝游戲的時候數(shù)量眾多的小文件體現(xiàn)的是硬盤的隨機讀寫性能。
這位群友的觀點很有意思,ta的意思是對游戲文件夾進行封裝處理,把單個游戲文件夾通過軟碟通等軟件封裝成單個的iso文件(不做任何壓縮,單純使用拷貝模式進行封裝)或者isz文件(isz格式相對比iso格式有數(shù)據(jù)壓縮),這時游戲文件夾就是一整個文件了,在拷貝或者轉(zhuǎn)移的時候就主要依靠硬盤的連續(xù)讀寫性能了,這對目前NVMe固態(tài)硬盤更友好,畢竟隨便一個PCIE3.0×4的固態(tài)硬盤的連續(xù)讀寫速率都能跑上1000M/s,而就算是目前頂級的PCIE5.0的硬盤,4k隨機讀寫性能也不見得能比PCIE3.0的硬盤快多少。
那么這個封裝游戲的方法對于游戲運行的體驗有沒有損失呢?幀數(shù)會不會因為性能損失降低?這就是我們爭論的焦點。
對于這個問題,我設(shè)計了這樣的實驗:
1. 實驗主要目的:用數(shù)個大型單機游戲作為測試對象,探究iso封裝單文件格式相對于不封裝的文件夾格式對單機游戲的CPU資源占用、硬盤io資源占用的影響以及最終對于游戲幀數(shù)和幀生成時間的影響。
2. 測試對象:游戲樣本1《刺客信條英靈殿》、游戲樣本2《古墓麗影暗影》、游戲樣本3《最終幻想15基準(zhǔn)測試》
3. 測試方法:將上述3個游戲分別使用軟碟通進行處理,分別處理成A格式(無壓縮的iso格式)、B格式(無處理的從網(wǎng)上下載的壓縮包直接解壓的原版文件夾格式),一共2種格式,在開啟hwinfo64?7.31?Beta進行硬件運行情況監(jiān)控、RTSS?7.3.2、Fraps、OBstudio進行幀數(shù)統(tǒng)計、幀生成時間測算和錄屏的情況下,分別從雙擊游戲圖標(biāo)開始計時,到游戲自帶的基準(zhǔn)測試運行結(jié)束(基準(zhǔn)結(jié)果展示界面出現(xiàn))為止,計算基準(zhǔn)運行時間和收集統(tǒng)計數(shù)據(jù)。
4. 數(shù)據(jù)分析:對于一個游戲的兩種不同格式的硬件運行情況和幀數(shù)統(tǒng)計進行對比并通過Excel繪制折線圖分析,排除偶發(fā)性硬件問題檢查有無異常及異常是否具有意義。
5. 測試平臺:i3?9100F/2×8G?DDR3?1600MHz/昂達H310C-SD3/技嘉GTX1660S/256G?SATA?SSD+1T?SATA?SSD+500G?SATA?HDD/先馬領(lǐng)軍535?額定400w?12v輸出360w

先說結(jié)論:跟我們的刻板印象不同,目前的大型單機游戲?qū)τ谟脖P順序讀寫性能更看重,4k性能反而對游戲性能影響不大(或者是還沒測到瓶頸)
再上截圖
測試一:刺客信條:英靈殿


測試二:古墓麗影:暗影


測試三:最終幻想15基準(zhǔn)測試


其中最終幻想15基準(zhǔn)測試在文件夾格式下比在iso格式下分數(shù)高出約5.54%,其它兩個游戲在文件夾格式下和單文件iso格式下幀數(shù)下降并不明顯。
討論:
根據(jù)請教做文件系統(tǒng)的大佬的說法,這主要是隨機讀寫、順序讀寫和分區(qū)的BLOCK大小的影響,有的設(shè)備是順序讀寫而且不同物理設(shè)備的BLOCK不一樣,因此不同的文件格式本來就是給不同的硬件設(shè)計的。iso9660這個格式是很老的文件格式,如果游戲文件名里有些莫名其妙的奇怪的字符的話,以及如果游戲文件中有單個文件超過2G的文件很容易導(dǎo)致各種各樣奇怪的問題。ISO9660這個文件格式是針對CD和DVD的存儲介質(zhì)設(shè)計的,而CD和DVD都是屬于順序讀寫,在固態(tài)硬盤下順序讀寫性能強的時候體現(xiàn)不出瓶頸。
實際上國外的破解組挺多的都是發(fā)布一個torrent然后一個iso高壓文件流通,在國內(nèi)網(wǎng)盤二次分流的情況下,網(wǎng)盤服務(wù)商曾經(jīng)有過不支持超大文件的問題,而且大文件存網(wǎng)盤流通的時候容易導(dǎo)致數(shù)據(jù)損壞,以至于現(xiàn)在網(wǎng)盤分流的游戲文件不少都是單個文件4G左右的多個分卷的rar格式,因為rar壓縮格式支持5%的文件回復(fù)記錄,對于游戲文件出現(xiàn)受損的情況更友好。
此外,基于連續(xù)讀寫不能成為瓶頸的推測,是否在某些優(yōu)化不那么好的游戲或者游戲文件小文件更多的游戲上,以及某些開放沙盒世界地圖一邊游戲一邊讀圖的情況下,會觸及到iso單文件格式的短板?以及isz文件格式對于游戲文件實際上是有壓縮的,這種情況的解壓縮運算下會不會對CPU要求更高?這些猜測還有待進一步的測試確認。
單文件iso/isz格式目前Windows10、11系統(tǒng)都可以實現(xiàn)不需要第三方軟件就能掛載虛擬光盤,綜上所述確實可以作為一個存儲單機游戲的一個方法,優(yōu)點是單文件,只吃順序讀寫,拷貝和轉(zhuǎn)移速度更快;而缺點是需要對游戲文件夾進行二次處理,硬盤需要留出一部分周轉(zhuǎn)空間進行處理。