上古卷轴5ctd排查 上古卷轴5天际ctd解决方法详解

上古卷轴5天际这款游戏在运行时会出现由游戏本身机制和内存原因引起的ctd,这篇由玩家“零杀十一死”分享的上古卷轴5天际ctd解决方法详解就详细说明一下,希望能帮到出现这类故障的小伙伴 。
ctd解决方法详解
滚5ctd的原因多种多样,有比较低端的,例如esp没有master,骨骼和身形不搭配等等 。
也有比较高端的,例如脚本错误,随机事件触发错误等等 。
然而,在你的MOD环境完全没有问题,存档完全干净,几个INI配置参数完全正确的情况下,依然会发生一些随机CTD,最简单的例子就是进游戏第一次读档闪退 。
随机性质的ctd中,很大一部分是滚5本身的机制和内存管理导致的 。
这就需要一个MOD:Crash Fixes 。
N网地址:http://www.nexusmods.com/skyrim/mods/72725/
再来说说比较清晰的安装教程 。
1.安装SKSE Plugin Preloader
下载地址:http://www.nexusmods.com/skyrim/mods/75795/
把d3dx9_42.dll解压到tesv.exe所在目录即可 。
2.安装Crash fixes
下载地址上面有 。
把CrashFixPlugin.dll,CrashFixPlugin.ini,CrashFixPlugin_preload.txt三个文件解压到DATA/SKSE/Plugins 。
3.修改几个ini
CrashFixPlugin.ini:把UseOSAllocators=0改成1 。这个文件内的参数都有注释,想深入学习可以看一下 。
enblocal.ini:
ExpandSystemMemoryX64=false (可以先设置true试一下,如果出现闪退或者bug,改成false) 。
ReduceSystemMemoryUsage=true
DisableDriverMemoryManager=true
这三项要这样设置 。如果没有enb就跳过这个ini设置 。
skse.ini:
[Memory]
defaultHeapInitialAllocMB=768
scrapHeapSizeMB=256
推荐设置这两个数 。
【上古卷轴5ctd排查 上古卷轴5天际ctd解决方法详解】4.其他ini设置
上面这几个是必须要改的,设置错了会出现很大问题 。下面是几个根据自身情况修改的ini 。
Skyrim.ini:
[General]
uExterior Cell Buffer=
室外缓冲区大小 。默认是36. 有一种算法是ugird+1之后平方 。但你的室外材质装的很多,可以适当增加这个数值 。如果改完,发生随机ctd,那么就改回去 。
iPreloadSizeLimit=
在内存中预载的总大小 。当ugrid和uecb发生改动之后,这个也要随之改动 。设置的过低会造成频繁卡顿,设置的过高可能会让tesv爆内存直接卡死或者闪退 。我个人设置的256M,也就是上面那个数 。
[Papyrus]
fUpdateBudgetMS=2.0
fExtraTaskletBudgetMS=2.0
fPostLoadUpdateTimeMS=2000
iMinMemoryPageSize=256
iMaxMemoryPageSize=512
iMaxAllocatedMemoryBytes=2457600
我用的这一套数据,如果出现问题,删掉整段即可恢复默认 。
enblocal.ini:
ReservedMemorySizeMb=
低配设置64 。显存大于等于4g设置768,其他情况设置在128 256 512中调整 。设置太高会导致闪退,设置太低会导致卡顿,这个数值需要摸索,因为它和你装的模型材质总量有关 。
VideoMemorySizeMb=
内存+显存-2048,例如8g内存,4g显存,就是8192+4096-2048=10240 最高值为10240,不能再高 。求稳定可以直接设置成显存大小 。
EnableCompression=TRUE
内存压缩功能,建议开启 。如果不开,内存占用会非常非常大,一旦超过32位程序限制的3.1G,直接闪退 。
当然,这些参数可以保持默认!如果对这些参数不熟悉,保持默认是最好的 。如果不懂ini机制,建议去学,而不是问我 。
5.进入游戏
建议看一下Crash fixes这个mod的N网说明 。
解释一下为什么需要skse插件预载 。在tesv.exe开启之后,内存区块已经被tesv申请完毕 。skse插件默认加载在 tesv之后,无论skse插件怎样修改内存区块,都是无效的 。需要让skse插件优先于tesv启动,所以要安装skse插件预载 。

相关经验推荐