[游戏内存优化] [原创作品] 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 或 改进建议 给我,让我更好的完善它
化] [原创作品] Pi T ...›参与/回复主题化] [原创作品] Pi T ...›参与/回复主题
谢谢大神 666666666666666666
看着挺好的,但是不太懂。。 好东西支持
66666666666666666 看不懂呢 知识不在一水平上 无法交流 谢谢大佬渣机福利 感谢 大佬,这个是插件Memory Buffer SKSE插件(内存缓冲)的全新改版吗? Up , Devourer 3.0 Alpha 回归 1111111111111111111
666666666666666
先熟悉熟悉熟悉熟悉熟悉熟悉熟悉熟悉熟悉熟悉熟悉熟悉实习生
老滚的内存优化实在太渣了,只能依靠第三方优化了 感谢大佬
dltql 感谢分享
太棒了!感谢分享!
66666666666666
xiexiexisxiexiefenxiang
感谢分享 谢谢分享
谢谢嘻嘻嘻嘻嘻嘻嘻嘻谢谢嘻嘻嘻嘻嘻嘻嘻嘻
非常感谢
11111111111111111111111111
不错,有明显的变化 6666666666666
666666666666666
牛牛牛牛牛牛牛牛牛牛牛呢
惊了,厉害