[游戏内存优化] [原创作品] Devourer(解决内存崩溃,Skyrim LE 内存管理) - By 爱的圆周率
本帖最后由 亚路嘉 于 2020-6-26 02:47 编辑Devourer 已经发布在 Nexus,有条件的朋友可以去支持一下: (不过发布在Nexus的是功能删减版,下载插件还是就在我的帖子里吧)
Devourer - By 爱的圆周率
Devourer是一个游戏内存优化插件,它为你的游戏建立了内存管理,或许可以解决内存溢出导致的CTD。
它是一个SKSE插件,你只需要按照正常MOD安装流程,或者将文件夹最里面的文件移动到DataSKSEPlugins里
前置需求:
1.你需要安装SKSE和SKSE插件预载
2.你可能需要安装 VC++ 2015 运行库 来支持它
3.系统版本要求:最低Win7 SP1及以上(推荐Win10 1803及以上)
功能概述:
1.物理内存扩展:你可以理解为给游戏另外提供物理内存使用
2.内存缓冲:它有四种内存缓冲方式(详见配置文件)
3.内存释放功能,纯粹是给物理内存较低的用户使用
4.游戏进程对各个逻辑核心的亲和力,可以提升游戏对CPU的利用率
5.设置游戏进程优先级,将游戏进程优先级设置为高以提升游戏性能
6.嵌入式游戏窗口,它可能可以解决你全屏游戏时跳出桌面的问题
7.高效率的内存分配器(3.0 Beta)物理内存扩展开启后生效,游戏内存利用率更高,测试阶段
配置文件及其详解:
------------------------------------------------------------分割线------------------------------------------------------------
; 游戏进程名,Skyrim LE 为 TESV.exe,请不要随意更改GameProcessName = TESV.exe
; 物理内存扩展功能,你可以理解为在外部给游戏提供物理内存使用; 它的能力暂且不强,即便你保持默认值 4096 MB,游戏恐怕也就用几百兆,不过总比没有好; 第二项参数为扩展物理内存总量,它必须为页面内存的整数倍(4096,8192,16384......)单位:MB; 需求:RAM >= 8192 MBAddressExtension = trueExpandedSize = 4096
; 内存缓冲方式选择,你可以根据自己的情况选择偏向性能还是偏向稳定的方式,第一项参数详解:; 为 0 :游戏物理内存占用达到一定值(MemoryBufferThreshold)将物理内存逐渐写入页面内存; 为 1 :执行完 0 的操作后为游戏进程重新按需分配物理内存,但我不清楚重新分配后物理内存占用减少的够不够; 为 2 :限制游戏进程物理内存使用(MemoryBufferThreshold),一旦超过立刻写入页面内存; 为 3 :申请大量的内存来强制游戏丢弃缓存数据,并且将物理内存写入页面内存,再释放申请的内存; 为 -1:不进行任何内存缓冲操作,执行完插件其他功能即退出。; 第二项参数为内存缓冲阀值,它充当内存缓冲的门槛或限制数值,单位:MBMemoryBufferMode = 0MemoryBufferThreshold = 1800
; 动态内存分配器(测试阶段); 标记可用内存,游戏需要时分配,不需要时归回,智能清零; 这会提升内存性能,也会提高内存利用率(使申请和释放内存的速度快了很多); 如果不出问题建议保持此项开启DynamicMemoryAllocator = true
GameMemoryFree = true
SystemMemoryFree = false
; 设置游戏进程对各个逻辑核心的亲和力,它可能可以解决多线程错误导致的崩溃,也可以提升游戏对CPU的利用率; 你需要填CPU的逻辑核心数量,例如你的CPU是六核六线程,要填6,CPU是四核八线程,要填8TotalProcessors = 4
; 设置游戏进程优先级,-2为低,-1为低于正常,0为正常,1为高于正常,2为高,3为实时; 为了游戏性能你可以设为2,也可以调低它来使CPU更节能,不推荐设为3,也许会出问题GameProcessPriority = 2
; 嵌入式游戏窗口,它可能可以解决你全屏游戏时跳出桌面的问题; 第二项和第三项分别填你显示器的分辨率宽度和高度EmbeddedGameWindow = trueWidth = 1920Height = 1080
------------------------------------------------------------分割线------------------------------------------------------------
注意事项:
Devourer并不会和同类插件冲突,但如果你使用Crash Fixes的UseOSAllocators,Devourer的绝大多数功能将无法生效(内存管理,内存分配器)
如果你使用了Crash Fixes,并且你想让Devourer生效,请按以下方式修改配置文件:
方法:在DataSKSEPlugins内找到CrashFixPlugin.ini,修改项下的UseOSAllocators这一项为0。
另外,关于读档跳出的问题(字符串65535限制,Devourer现在没有办法解决它),如果你使用了Crash Fixes,理论上应该不会出现这个问题。如果你不使用Crash Fixes,并且同时使用了ENB,请尝试修改游戏根目录enblocal.ini,修改项下的ExpandSystemMemoryX64为true
Devourer的主要功能及详细说明:
内存管理:为Skyrim建立一个内存缓冲区。 如果由于内存不足而使Skyrim发生CTD,这将非常有帮助。 它将Skyrim的内存移动到应用程序的页面内存中。 您可以根据自己的情况修改配置文件,这可能会不同程度的影响性能。内存分配器:它将标记可用内存,在Skyrim需要时分配,并在不需要时返回。 新版本具有智能清算功能。 它可以提高内存性能,也可以使Skyrim的内存利用率更高。
迎接先行版的到来,所有历史版本皆不提供下载!
最新版:
2020年6月24日,Devourer 3.0 Alpha 先行版 重磅登场!(非正式版,但这是为即将到来的正式版做铺垫)
1.首先就是大家期待已久的,游戏退出后导致系统崩溃无法打开绝大多数应用程序的Bug,终于被修复了!
2.对所有的功能都加入了判断代码,如果它不生效,一定会弹出信息框报错
3.监控进程更好的多线程性能支持,加强游戏多核优化
4.内存分配器在配置文件中单独存在
下载方式:**** Hidden Message *****
如何判断插件是否生效?启动游戏后会出现这么个东西,查看任务管理器,Win10环境下:
Win7环境下的应该是MemBuffer.exe(推荐在Win10环境下使用,有Win7用户反馈插件可能会中途自动结束,我不清楚,反正我的Win10是没有这情况的)
注意,正式版发布后会同时分享源代码,也有可能只在MOD组内部分享,总之3.0正式版大概是Devourer最后一个版本了。小提示:个人开发的应用程序,对内存有一些敏感操作,部分杀软有误报问题很正常,请尝试添加信任,正式版将解决这个问题。
问题汇总:
问:我的插件无法运行?或使用时停止运行?
答:你确定你看完了前置需求?如果前置齐全,请确保任务管理器内 Memory Buffer 进程是否在正常运作(可能会被拦截)
问:我的插件运行时弹出错误信息框?
答:如果弹出很多错误信息框,那表明我的插件根本没有对游戏进程进行操作,请确认是否安装了SKSE插件预载,如果是只弹出了一个......联系作者解决吧
问:我的插件在游戏退后出会导致系统出问题(大多数应用程序无法打开)?
答:请确保你更新了最新的 Devourer 3.0 Alpha 版本
问:我的插件会导致游戏跳到桌面后无法切回?
答:请尝试使用OneTweak插件解决,或关闭插件的嵌入式窗口功能
问:为什么安装了我的插件依旧会频繁CTD?
答:我已经明确说过了这是一个内存插件,它不能解决更多的崩溃(内存以外的原因造成的)
问:为什么安装了我的插件进游戏后走几步就CTD了?
答:内存碎片过多,确保你的SKSE内存机制在正常运作。(如果没有这类问题还是推荐将让Devourer来控制内存)
问:为什么安装了我的插件没有感觉到明显的变化?
答:如果安装了Crash Fixes,请按照注意事项中的步骤关闭其内存补丁,否则Devourer的大多数功能无法生效。
问:为什么安装了我的插件,会导致读档概率CTD?
答:请确保CPU多核优化配置项的参数是正确的(默认是4,请根据CPU核心数量更改,超线程也算)
问:为什么安装了我的插件,内存占用一直上不去?
答:Devourer为游戏建立了一个缓冲区,你可以通过配置文件(MemoryBufferThreshold)来改变这个数值,推荐值 1800 - 3000
问:为什么安装了我的插件,会导致某些内存MOD失效?
答:Devourer将替换Skyrim的默认内存分配器,如果内存MOD是esp,它很可能会失效
希望大家用过我的插件后,能反馈 相关Bug 或 改进建议 给我,让我更好的完善它
66666666666666666666666666666
好耶好耶
感谢分享
感谢分享
qqqqqqqqqqq
看看是啥
这是什么东西 6666666666
谢谢分享,不错 给力,感谢分享
66666666666
惺惺惜惺惺想寻xx寻寻
感谢分享试试拯救CTD
656666666666666666
谢谢楼主
6666666666666666
谢谢大神
haod 666 wa wfsdafwegqg
aaaaaaaaaaaaaaaaaaaaaaa
谢谢分享
66666444支持一下
谢谢楼主分享
hfa回复支持一下
aaaaaaaaaaaaaaaaaaaaaaaaaaa
11111111111111111
ASDAAAAASSA
6666666666666 666666666666666666666666666666666666666