转跳到内容

固态硬盘不够大塞不下游戏又想提高游戏加载速度的方法~~~把一部分游戏放入固态


只显示该作者

只有该作者的内容显示中。 返回到主题

推荐贴

本文是基于战锤2全面战争写的,其他游戏的的话,应该可以仿这个步骤来实现类似效果,不过加速的前提是游戏的时间都花在了从机械硬盘里加载文件上,对其他问题是木用的。

一会还打算发到战锤全战贴吧去,会不会有问题呀:mx040:

 

观前提示:本文内的方法适合有计算机基础的坛友,或者动手能力比较强、比较心细的坛友~~~没有计算机基础的坛友们请不要看到一半就开搞,请看完在弄哦~

本人的存档读取时间从3分36秒缩短到了38秒,进入战斗时间从1分20秒缩短到了17秒,手动战斗结束后返回大地图的时间从4分29秒缩短到了42秒~~~虽然不知道把整个游戏都放进固态硬盘里会有多快,但这个提高程度已经让我内牛满面了:YangTuo_21:

(我也是刚试出这个方法,只打了几场手动,过了几个回合。也没有打网战。长期用会不会有稳定性问题我也不知道:huaji2::huaji2:,请酌情使用:huaji2::huaji2:。总之魔改有风险,开搞需谨慎。如果是台式电脑建议买个大固态装上算了:huaji2:

 

全战在没有固态硬盘时加载时间大家都吐槽已久了。不管三国还是锤2,放在机械硬盘里,加载时间都是让人等到耐心爆炸。加载时间里,我是从一开始盯着屏幕苦熬,发展到后来刷手机,再到做俯卧撑,看书……再到后来全部自动,完全不手操了:mx018:

但手动才是全战的精髓啊,全程不手动不如玩CK……但手动又会犹如传说中一样“玩游戏时间和加载的时间差不多”、“加载一小时,游戏五分钟”。最近我终于忍不了了,试图着手解决一下这个问题。

众所周知固态硬盘的读写速度,比起机械硬盘那是不知道高到哪里去了。但可能很多朋友的固态硬盘都和我一样是128G的,中端低端游戏本的常见配置,高不成低不就,装完系统和常用软件就剩下60G。想把战锤全塞进去,又怕装得太满影响读写速度和固态寿命。思来想去,如果没法把整个游戏都塞进去,那就塞进去一部分好了,毕竟加载时所读取的文件肯定只是总文件一部分,不会把60个G全读进去。就算游戏想把60个G都读取了,内存也装不下啊。

 

想到这里,那么下一步当然是找出游戏加载时到底读取了些什么文件了~我用Process monitor这个软件记录了凡世帝国下,游戏在读取存档时和手动战斗后的文件读取记录。整理分析一下之后,在上述这两种最为耗时的加载过程中,主要被读取的机械硬盘文件名单如下(这些文件都位于游戏主目录下的data文件夹里):

audio.pack

audio_2.pack

audio_m.pack

campaign_variants.pack

campaign_variants_2.pack

campaign_variants_bl.pack

campaign_variants_sb.pack

campaign_variants_wp_.pack

data.pack

data_2.pack

local_cn.pack

local_cn_2.pack

models.pack

models2.pack

models_2.pack

shaders.pack

terrain.pack

terrain2_2.pack

terrain_2.pack

variants.pack

variants_2.pack

variants_dds.pack

variants_dds2.pack

variants_dds2_2.pack

variants_dds_2.pack

warmachines.pack

(这并不是一个完整的读取文件清单,不过主要被读取的都在此处了。上述文件合计33G,比原游戏还是小多了。全部位于游戏主目录下的data文件夹中)

 

有了名单,下一步当然就是…:huaji2:

cdbf6c81800a19d8bcbf246824fa828ba61e461a.jpg

错了错了!:59468f77782a1_3_8:  有了名单,下一步当然就是把这些文件移动到固态硬盘里去了

 

不过我们还得考虑一个问题,这些文件虽然被转移到另一个盘里去了,但全战程序运行的时候要怎么才能找到这些文件呢?没有这些文件,显然是运行不了的。这里就要用到一个工具了,那就是符号链接(以下原理不感兴趣可以跳过)。符号链接其实就相当于一个高级版的快捷方式,它可以从一个地方,指向实际上放在另一个地方的文件(这个“另一个地方”甚至可以位于网络上)。不过它只对用户和系统可见,在一般程序看来,这就是一个位于此处的正常文件,使用起来和一般文件一样。

 

利用符号连接,我们就可以把复制到固态硬盘上的游戏文件给链接回原处,让游戏认为这些文件仍然位于此处,而实际运行时,系统则会引导游戏固态硬盘中读取文件。创建符号链接,就是将下述命令在管理员模式下的cmd里执行(不知道cmd没关系,后面会有方法,将命令写在记事本中,不用到cmd):

mklink "全战目录中的data文件夹路径\文件名" "固态硬盘中的存放路径\文件名"

举个例子:

mklink "D:\steam\steamapps\common\Total War WARHAMMER II\data\audio.pack" "C:\whdata\audio.pack"

上面的 D:\steam\steamapps\common\Total War WARHAMMER II\data 就是我的战锤2游戏目录中的data文件夹的路径。C:\whdata 就是我把前面名单中的文件剪贴到固态硬盘中后存放的地方(我的C盘是固态硬盘)。而audio.pack就是文件名啦。

执行完一条上述的命令后,你会发现在全战目录data文件夹里,多了一个叫audio.pack的文件,文件的图标就像快捷方式一样有个小箭头,这就说明成功把audio.pack这个文件从固态硬盘连接到原位置啦!:YangTuo_u:

 

不过这样问题就来了,且不说cmd是什么玩意,就说上面可有着几十个文件呐,对应下来就是手写几十条命令,手指都写断了!而且一不小心输错了怎么办。这时我们就可以建一个记事本文件,在里面编辑命令,然后将文件后缀名改为dat,就可以批量执行了。

这里准备了一个很方便用的命令模板,只要把下面的命令们复制到记事本里,把里面的两种路径替换成对应的地址,保存后把后缀名改为dat,最后右键该文件,选以管理员权限执行就可以了!名单里26个文件对应的命令都在里面了:

mklink "全战目录中的data文件夹路径\audio.pack" "固态硬盘中的存放路径\audio.pack"

mklink "全战目录中的data文件夹路径\audio_2.pack" "固态硬盘中的存放路径\audio_2.pack"

mklink "全战目录中的data文件夹路径\audio_m.pack" "固态硬盘中的存放路径\audio_m.pack"

mklink "全战目录中的data文件夹路径\campaign_variants.pack" "固态硬盘中的存放路径\campaign_variants.pack"

mklink "全战目录中的data文件夹路径\campaign_variants_2.pack" "固态硬盘中的存放路径\campaign_variants_2.pack"

mklink "全战目录中的data文件夹路径\campaign_variants_bl.pack" "固态硬盘中的存放路径\campaign_variants_bl.pack"

mklink "全战目录中的data文件夹路径\campaign_variants_sb.pack" "固态硬盘中的存放路径\campaign_variants_sb.pack"

mklink "全战目录中的data文件夹路径\campaign_variants_wp_.pack" "固态硬盘中的存放路径\campaign_variants_wp_.pack"

mklink "全战目录中的data文件夹路径\data.pack" "固态硬盘中的存放路径\data.pack"

mklink "全战目录中的data文件夹路径\data_2.pack" "固态硬盘中的存放路径\data_2.pack"

mklink "全战目录中的data文件夹路径\local_cn.pack" "固态硬盘中的存放路径\local_cn.pack"

mklink "全战目录中的data文件夹路径\local_cn_2.pack" "固态硬盘中的存放路径\local_cn_2.pack"

mklink "全战目录中的data文件夹路径\models.pack" "固态硬盘中的存放路径\models.pack"

mklink "全战目录中的data文件夹路径\models2.pack" "固态硬盘中的存放路径\models2.pack"

mklink "全战目录中的data文件夹路径\models_2.pack" "固态硬盘中的存放路径\models_2.pack"

mklink "全战目录中的data文件夹路径\shaders.pack" "固态硬盘中的存放路径\shaders.pack"

mklink "全战目录中的data文件夹路径\terrain.pack" "固态硬盘中的存放路径\terrain.pack"

mklink "全战目录中的data文件夹路径\terrain2_2.pack" "固态硬盘中的存放路径\terrain2_2.pack"

mklink "全战目录中的data文件夹路径\terrain_2.pack" "固态硬盘中的存放路径\terrain_2.pack"

mklink "全战目录中的data文件夹路径\variants.pack" "固态硬盘中的存放路径\variants.pack"

mklink "全战目录中的data文件夹路径\variants_2.pack" "固态硬盘中的存放路径\variants_2.pack"

mklink "全战目录中的data文件夹路径\variants_dds.pack" "固态硬盘中的存放路径\variants_dds.pack"

mklink "全战目录中的data文件夹路径\variants_dds2.pack" "固态硬盘中的存放路径\variants_dds2.pack"

mklink "全战目录中的data文件夹路径\variants_dds2_2.pack" "固态硬盘中的存放路径\variants_dds2_2.pack"

mklink "全战目录中的data文件夹路径\variants_dds_2.pack" "固态硬盘中的存放路径\variants_dds_2.pack"

mklink "全战目录中的data文件夹路径\warmachines.pack" "固态硬盘中的存放路径\warmachines.pack"

echo. & pause

 

替换举个例子就是,如果我给我的电脑替换的话,就会把 全战目录中的data文件夹路径 这串中文替换成D:\steam\steamapps\common\Total War WARHAMMER II\data 然后把 固态硬盘中的存放路径 这串中文替换成 C:\whdata

要注意空格和 \ 不要加多了。

此外注意保存后一定要右键,选管理员身份执行哟,非管理员权限执行会失败的·。本人电脑是win10,其他系统上怎么搞我也不大了解了。

 

到这里基本就差不多啦。加速效果还是非常好的,就像本文开篇所说的,原本好几分钟的加载时间缩短到了几十秒,而且没有专门针对优化的进入战斗时间也从一分钟降到了十几秒,着实是惊喜。我们一直以来积累的努力,并不是全部木大:huaji2:

 

下面是一个详细执行步骤总结:

1.  首先进入你的战锤2全战游戏目录,打开data文件夹,照着上面的文件名单,把对应文件都选中,剪贴到固态硬盘里。例如我的固态硬盘是C盘,我就在C盘里新建了一个文件夹叫whdata,然后把这些文件都剪贴到了whdata文件夹中。(别乱动C盘里的其他东西哦,如果你不想电脑爆炸的话:goutou:

 

2.  新建一个记事本文件,把前面给的命令模板复制进去,然后把里面的两种路径 全战目录中的data文件夹路径 和· 固态硬盘中的存放路径 分别全部替换成你电脑中的对应路径。然后,检查:goutou:!!检查有没有多打空格或者 \ ,斜杠有没有打反等等。整完后保存,然后把保存的文件的 .txt 后缀名修改为 .bat

 

3.  对这个bat文件点右键,然后选择以管理员身份运行。运行时会弹出一个小黑框,可以看里面有没有提示运行出错。

 

4.  完成啦!现在可以打开锤2,试一试新的加载速度如何了!          帝国存档启动!  死亡爪皇帝上线!  持锤大只佬挂件已装备,士气+8!   糟糕,不慎追尾了黑色高级诺斯卡巨象…    皇帝,你在干什么啊皇帝!  保护选帝侯是我的责任…    希望之花~~~:YangTuo_2::YangTuo_2:

 

PS1:如最开始所说,魔改是有风险的,长期稳定性如何,版本更新之后还能不能用之类的我也是不知道的:goutou:。不过只要不乱动C盘里的东西,不要乱输模板以外的命令,应该是不会对电脑系统有什么危险的。大不了重装游戏:goutou::goutou:

PS2:这个文件清单是根据凡世帝国加载过程总结出来的,如果是玩大漩涡的话,可能文件会有所不同,优化效果也会下降,不过你也可以用相同的方法去总结一下大漩涡用了哪些文件,写一份新的名单和命令模板。三国全战估计也是同理,可以试一下~

PS3:假如你要更惨一些,固态里连30个G都没有那可咋办呢:huaji2:  你可以1.搜一下清理C盘垃圾,迁移文件等开源节流的方法  2.那就不整完整的文件名单了呗(反正这个名单本身也是不完整的),你可以从名单中随便挑一些出来,直到你的固态可以承受的程度。从命令模板中删去那些你没有迁移的文件。然后走一遍正常流程就行啦~不过效果估计也就相应会差一些了。这里再提醒一下,木有固态硬盘的话这个方法是没用的。

PS4:我想要PS5!

注释
百地たまて 百地たまて 20.00节操 大佬的经验
链接到点评
19 分钟前, cleanery 说道:

监控文件, 建立软连接, 是个办法, 但是我自己是1TSSD + 1THDD, 所以用不到了

 

羡慕啊,我的笔记本没买多久,现在陷入了深深的后悔中:mx059:

13 分钟前, aucifer3000 说道:

方法可行但是对我貌似没用:)   250G SSD + 2T SSD +3T HDD + 3T HDD 表示毫无压力~

这应该是台式了吧,好棒:59468f71da214_2_11:

14 分钟前, zhongyue0 说道:

笔记本玩大作确实尴尬,楼主的笔记本能玩战锤2很给力了.

个人一直用PC玩游戏,也是把游戏仍到固态硬盘带动的那种- -.

买了个配置高不成低不就的,其实也挺尴尬:mx059:    好处是还算比较轻

链接到点评
37 分钟前, NianRuoshui 说道:

全放在SSD里了 只要加载十几秒 快得很:NEKOMIMI_PARADISE_30:

羡慕,只能说羡慕:mx059:  下回买新电脑时坚决上高配了

16 分钟前, s852111397 说道:

M2固态的话直接换新吧,现在这个年头128+1t这样的组合确实是不够用的

这里面有什么门道吗,M2比别的好换一些?

链接到点评
23 分钟前, archmagetony 说道:

我笔记本特别的老,连m2的接口都没有(垃圾联想=、=),然后我直接把机械拆掉换成1T的固态了,之后又把光驱拆掉换成了机械硬盘。。。唯一心疼的就是固态掉价太狠了我是四年前买的换的。。大概3000多。。。现在才八九百的样子。。。。

强力,强力啊!

我以前在找不到拆机图,去网上随便看了几个教程的情况下拆了一个笔记本,结果我那个笔记本设计极为扭曲,硬盘和前后盖都有关系,有些我怎么都整不明白。最后把硬盘接口整坏了。后来就不敢随便拆了TAT   :mx040:

链接到点评
9 小时前, archmagetony 说道:

我也手残。。。我这边光驱换硬盘是比较好换的,有专门的架子(联想y510有这个专门的设计),买了一个就能直接拔下来插上,连后盖都不用开。主硬盘是我直接去联想维修点让他们给我换的。。。实在是怕坏了,也没收我钱毕竟就是拆下来以后装上的事。我这笔记本特别的坑,当年刚出国行的时候我算是第一批买的,结果买了好久才发现被阉割了一大堆东西。:mx018:我这笔记本有专门的m2槽,但是没有焊m2的口!对!没有插口!!:mx050:我真是日了狗了

这,就是说有对应电路,但接头没有装吗,这也太坑爹了吧:mx059:

 

8 小时前, s852111397 说道:

如果是120g的固态一定是不够用的,现在固态价格并不算高,五六百块钱就能买一块很好的m2固态,而且更换很容易,读写速度那真是飞起.

原来是这样。当初想着拿来玩P社游戏,就弄了个高CPU中显卡,其他都随便上了,现在感觉坑了

 

15 小时前, NianRuoshui 说道:

全放在SSD里了 只要加载十几秒 快得很:NEKOMIMI_PARADISE_30:

可能跟我的固态是SATA也有关系。哪天我把全部都强行塞固态里再试试看:mx059:

gk153577出去逛街玩被妹纸表白,戴上眼镜一看是恐龙版的.-3节操

链接到点评
4 小时前, 在下东方大雕 说道:

你这个没办法套用到其他游戏上面吧?:mx030:

应该是可以的。符号链接的问题在于如果连接的是exe,dll等可执行文件时,当这些程序想要通过 ../ 等方式寻找相对位置的其他文件时,这个相对位置可能就会与正常情况下不同,造成出错。不过一般游戏的大部分容量还是纯粹的数据文件,对这些数据文件连接一下理论上还是可行的。

:YangTuo_2:

 

4 小时前, 猫型少女卡萌酱 说道:

其实嘛 你家牙膏厂的傲腾可以解决很多问题:NEKOMIMI_PARADISE_38:

降智小剧场:

“什么 你都有钱买傲腾 还不加钱买SSD?"

“那我的HDD怎么办”

——以上内容来源于现实生活

 

感觉不错~~可惜没有插口,也不大想拆23333

不抛弃不放弃任何一个硬件:huaji2:

 

gk153577和寒幼藏在半夜盗取清禾的传国玉玺时,无意中挖出了清禾祖传的3DS,卖出手后获得了奖励7节操

链接到点评
1 小时前, s852111397 说道:

怎么说呢,就是得有一定的底线吧,第一台笔记本买的时候当时并不懂这些,买了个i7+750m的奇怪组合,就导致玩独立游戏或者lol这样不吃显卡的游戏完全是轻松加愉快,但只要是吃点显卡立马就gg,然而我并不是全高党,我只是中高能玩就行,所以这次就是1660ti+9400就差不多了.在选的过程中顺路把高色域高刷新率这样的条件加进去,最后上了个船,半年了快,体验真心好啊,尤其是我这种从4代英特尔7代英伟达直接跨到9代+20系,就一下子飞跃很大..

 

而且我之前的固态那三四百m的读写,新电脑摸奖摸了一块儿660P,读写1000+大神觉着拉闸,在我这直接就是飞起来的感觉了...由俭入奢易啊.

我现在这个倒也还行,虽然不能全高,但也没什么玩不了的。一般游戏只是开场时需要加载也还行,全战每打一仗都加载就太折磨人了2333

 

大神都用什么啊,读写1000+都嫌弃

:mx040:

链接到点评
11 小时前, 梦幻妖精 说道:

使用系统自带的符号链接,这确实是个比较通用而且可行的方法呢!:NEKOMIMI_PARADISE_18:

原理挺简单的,但操作过程繁琐复杂,如果是长期稳定在电脑中的工程软件还好说,

游戏这种过一会就要搬掉的软件搞这么多得不偿失!www

估摸着还是能用一段时间的,更新后还能不能用到时再看吧23333

因为把命令都集合到bat里了,实际上麻烦程度还可以啦~~

5 分钟前, JAHOO 说道:

SSD只装系统和常玩线上游戏其他都存在HDD就没问题了,反正HDD便宜多买几个当外接也不心痛。

128G固态的痛啊:mx059:

链接到点评
1 小时前, saviliana 说道:

只是这种方式一但电源失效就会导致固态坏区,而且也会因为持续读写而引致损伤,得不偿失吧?

这是为什么呢?能不能细讲一下~~:mx040:

我个人感觉符号链接只是一种系统级以上的软件实现,应该不会有特别的影响?如果考虑瞬间掉电或者持续读写导致固态损伤,那么即使不用符号链接,正常地把游戏全部放到固态上,也一样会产生这些问题呀?

链接到点评
35 分钟前, saviliana 说道:

问题是你这是在假raid,只是换了说法而已…虽然正常地把游戏放到固态上也是有所消耗,但是远比同时读写硬盘和固态好的多,因为调用资源的时候系统永远会优先写入最快的固态盘储存区,然後缓存完了再调动到设置的硬盘区域上,长期这麽硬干会对固态消耗很大的,因为同一档案要分割调动好几次才能转完,就像是你开BT重复上下传某个档案在固态分区上,是物理消耗的啊…

确实是假raid,不过这里用来加速的特点并不是raid的多个硬盘同时读写,只是依赖于固态的速度啊。符号连接也不像真正的raid一样,有不同硬盘间自动把数据倒来腾去,以及做备份做校验等功能。按我对软连接的理解,它只是会在程序请求使用相应文件时,系统会改向符号连接所指向的地方去使用而已。在什么情况下会发生从固态硬盘调到原位置的情况呢?

:mx040:

链接到点评
5 分钟前, saviliana 说道:

你忘了程序读取的时候会建立一个备份空间来缓存资料啊,假raid利用的就是这点来把整个程序加速加载啊…结构上就是把慢吞吞的软件先读取到固态的缓冲区上加载而已,也就是一样的倒腾着,只是不会整个盘区粘在一起,而是一部份目录链接起来,断电同样会损坏MBT上的目录条导致坏道的啊,因为你缓冲区也是建立在raid上的,即使是假raid同样也是在加载不同硬盘的资料在一起…长期使用也会有重复读写导致的desync问题的啊

 

所以我不建议你继续使用这种加载方式,还是老实点去存钱买个大的外置硬盘箱装上大型固态吧…反正现在的得用USB3.11的速度比走SATA还高…

额,这个备份空间指的是什么呢?虚拟内存吗?还是raid中的文件调动?:mx030:

如果指raid的话,但我这个并不是raid啊,我觉得不能按raid直接往上套呀

我只是指定了数个特定文件,当它们被访问时直接去访问固态里的文件而已。微软说它的实现结果和unix一样,按照linux上的经验,甚至都只会在第一次access访问HDD,剩下的时候都直接走SSD,除此以外并没有和SSD产生其他关联。如果不是程序的要求,系统是不会往固态里传输文件的啊?

链接到点评
19 分钟前, saviliana 说道:

你忘了程序读取的时候会建立一个备份空间来缓存资料啊,假raid利用的就是这点来把整个程序加速加载啊…结构上就是把慢吞吞的软件先读取到固态的缓冲区上加载而已,也就是一样的倒腾着,只是不会整个盘区粘在一起,而是一部份目录链接起来,断电同样会损坏MBT上的目录条导致坏道的啊,因为你缓冲区也是建立在raid上的,即使是假raid同样也是在加载不同硬盘的资料在一起…长期使用也会有重复读写导致的desync问题的啊

 

所以我不建议你继续使用这种加载方式,还是老实点去存钱买个大的外置硬盘箱装上大型固态吧…反正现在的得用USB3.11的速度比走SATA还高…

我使用的是软连接,只对特定文件生效,两块盘并没有实际粘连啊。除了特定文件,两块盘并无瓜葛,要是原位置创建的连接文件被删了覆盖了修改了,两块盘就再无关联了。从系统角度看,在程序没有读取特定文件时,系统也不知道程序和文件究竟有什么关系。如果程序用到了特定文件,就会直接去固态硬盘中使用。不会发生两边来回倒的情况啊:mx030:

链接到点评
2 小时前, s852111397 说道:

其实nvme协议固态已经算是普及了,速度一个个都不太讲道理,这七八年之前我那块固态当时已经让我感受到了从1000块钱安卓直接过渡到iphone的感觉了,结果这个1500读写的固态又直接让我起飞了

 

:mx001:羡慕……等闲了一定给台式配个强力的固态

链接到点评
  • 4 周后...
于 2020/6/10 于 AM9点56分, Mr.K 018 说道:

原来Windows也有符号链接啊!我以前一直以为符号链接是Linux特有的东西来着。

好像比Linux的符号链接功能还强大一点,我记得Linux的符号链接只能链接目录来的

好像是Windows 10新增的特性?这么看来Linux是越走越远了啊(悲)

其实只是看起来还行,实际上怎么说,属于一个劣质模仿:mx059:

主要问题就是windows的符号链接一般只能用来连接纯数据文件,当连接可执行文件时,如果遇到程序要访问  ../  这类相对路径时,就会进行一堆奇奇怪怪的处理,导致程序出错。

这点已被诟病已久了,至于微软为什么不修正一下,一直是一个谜……

链接到点评
游客
此主题已关闭。
×
×
  • 新建...

重要消息

为使您更好地使用该站点,请仔细阅读以下内容: 使用条款