本文是基于战锤2全面战争写的,其他游戏的的话,应该可以仿这个步骤来实现类似效果,不过加速的前提是游戏的时间都花在了从机械硬盘里加载文件上,对其他问题是木用的。
一会还打算发到战锤全战贴吧去,会不会有问题呀
观前提示:本文内的方法适合有计算机基础的坛友,或者动手能力比较强、比较心细的坛友~~~没有计算机基础的坛友们请不要看到一半就开搞,请看完在弄哦~
本人的存档读取时间从3分36秒缩短到了38秒,进入战斗时间从1分20秒缩短到了17秒,手动战斗结束后返回大地图的时间从4分29秒缩短到了42秒~~~虽然不知道把整个游戏都放进固态硬盘里会有多快,但这个提高程度已经让我内牛满面了
(我也是刚试出这个方法,只打了几场手动,过了几个回合。也没有打网战。长期用会不会有稳定性问题我也不知道,请酌情使用。总之魔改有风险,开搞需谨慎。如果是台式电脑建议买个大固态装上算了)
全战在没有固态硬盘时加载时间大家都吐槽已久了。不管三国还是锤2,放在机械硬盘里,加载时间都是让人等到耐心爆炸。加载时间里,我是从一开始盯着屏幕苦熬,发展到后来刷手机,再到做俯卧撑,看书……再到后来全部自动,完全不手操了
但手动才是全战的精髓啊,全程不手动不如玩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文件夹中)
有了名单,下一步当然就是…
错了错了! 有了名单,下一步当然就是把这些文件移动到固态硬盘里去了
不过我们还得考虑一个问题,这些文件虽然被转移到另一个盘里去了,但全战程序运行的时候要怎么才能找到这些文件呢?没有这些文件,显然是运行不了的。这里就要用到一个工具了,那就是符号链接(以下原理不感兴趣可以跳过)。符号链接其实就相当于一个高级版的快捷方式,它可以从一个地方,指向实际上放在另一个地方的文件(这个“另一个地方”甚至可以位于网络上)。不过它只对用户和系统可见,在一般程序看来,这就是一个位于此处的正常文件,使用起来和一般文件一样。
利用符号连接,我们就可以把复制到固态硬盘上的游戏文件给链接回原处,让游戏认为这些文件仍然位于此处,而实际运行时,系统则会引导游戏固态硬盘中读取文件。创建符号链接,就是将下述命令在管理员模式下的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这个文件从固态硬盘连接到原位置啦!
不过这样问题就来了,且不说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,其他系统上怎么搞我也不大了解了。
到这里基本就差不多啦。加速效果还是非常好的,就像本文开篇所说的,原本好几分钟的加载时间缩短到了几十秒,而且没有专门针对优化的进入战斗时间也从一分钟降到了十几秒,着实是惊喜。我们一直以来积累的努力,并不是全部木大
下面是一个详细执行步骤总结:
1. 首先进入你的战锤2全战游戏目录,打开data文件夹,照着上面的文件名单,把对应文件都选中,剪贴到固态硬盘里。例如我的固态硬盘是C盘,我就在C盘里新建了一个文件夹叫whdata,然后把这些文件都剪贴到了whdata文件夹中。(别乱动C盘里的其他东西哦,如果你不想电脑爆炸的话)
2. 新建一个记事本文件,把前面给的命令模板复制进去,然后把里面的两种路径 全战目录中的data文件夹路径 和· 固态硬盘中的存放路径 分别全部替换成你电脑中的对应路径。然后,检查!!检查有没有多打空格或者 \ ,斜杠有没有打反等等。整完后保存,然后把保存的文件的 .txt 后缀名修改为 .bat
3. 对这个bat文件点右键,然后选择以管理员身份运行。运行时会弹出一个小黑框,可以看里面有没有提示运行出错。
4. 完成啦!现在可以打开锤2,试一试新的加载速度如何了! 帝国存档启动! 死亡爪皇帝上线! 持锤大只佬挂件已装备,士气+8! 糟糕,不慎追尾了黑色高级诺斯卡巨象… 皇帝,你在干什么啊皇帝! 保护选帝侯是我的责任… 希望之花~~~
PS1:如最开始所说,魔改是有风险的,长期稳定性如何,版本更新之后还能不能用之类的我也是不知道的。不过只要不乱动C盘里的东西,不要乱输模板以外的命令,应该是不会对电脑系统有什么危险的。大不了重装游戏
PS2:这个文件清单是根据凡世帝国加载过程总结出来的,如果是玩大漩涡的话,可能文件会有所不同,优化效果也会下降,不过你也可以用相同的方法去总结一下大漩涡用了哪些文件,写一份新的名单和命令模板。三国全战估计也是同理,可以试一下~
PS3:假如你要更惨一些,固态里连30个G都没有那可咋办呢 你可以1.搜一下清理C盘垃圾,迁移文件等开源节流的方法 2.那就不整完整的文件名单了呗(反正这个名单本身也是不完整的),你可以从名单中随便挑一些出来,直到你的固态可以承受的程度。从命令模板中删去那些你没有迁移的文件。然后走一遍正常流程就行啦~不过效果估计也就相应会差一些了。这里再提醒一下,木有固态硬盘的话这个方法是没用的。
PS4:我想要PS5!