爱的圆周率257 发表于 2020-4-17 22:06

[游戏内存优化] [原创作品] 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 或 改进建议 给我,让我更好的完善它



2424234651 发表于 2020-4-18 00:15

化] [原创作品] Pi T ...›参与/回复主题化] [原创作品] Pi T ...›参与/回复主题

lzy4154 发表于 2020-4-18 00:35

谢谢大神

zl5434 发表于 2020-4-18 07:00

666666666666666666

ffghsdfasdasczx 发表于 2020-4-18 12:02

看着挺好的,但是不太懂。。

徐满子的三代门 发表于 2020-4-18 13:40

好东西支持

Axinss 发表于 2020-4-18 21:34

66666666666666666

丶你就是笨蛋, 发表于 2020-4-19 23:32

看不懂呢 知识不在一水平上 无法交流

jkokkj 发表于 2020-5-27 17:27

谢谢大佬渣机福利 感谢

烟花易散 发表于 2020-5-29 23:04

大佬,这个是插件Memory Buffer SKSE插件(内存缓冲)的全新改版吗?

爱的圆周率257 发表于 2020-6-24 23:49

Up , Devourer 3.0 Alpha 回归

lzp815138090 发表于 2020-6-25 16:46

1111111111111111111

.峰顺_修峰 发表于 2020-6-26 10:35

666666666666666

沉浮在神经病 发表于 2020-6-26 20:13

先熟悉熟悉熟悉熟悉熟悉熟悉熟悉熟悉熟悉熟悉熟悉熟悉实习生

火星水神 发表于 2020-6-26 20:44

老滚的内存优化实在太渣了,只能依靠第三方优化了

695703615 发表于 2020-6-27 09:34

感谢大佬

mengqi3691 发表于 2020-6-27 09:37

dltql 感谢分享

名字不是问题 发表于 2020-6-27 17:55

太棒了!感谢分享!

虚空之龙 发表于 2020-6-27 22:20

66666666666666

bdzhisky 发表于 2020-6-27 23:58

xiexiexisxiexiefenxiang

vip丶神 发表于 2020-6-28 02:44

感谢分享

123zzzggg 发表于 2020-6-28 20:07

谢谢分享

zzg78427 发表于 2020-6-28 21:07

谢谢嘻嘻嘻嘻嘻嘻嘻嘻谢谢嘻嘻嘻嘻嘻嘻嘻嘻

流年天香色丶 发表于 2020-6-28 23:24

非常感谢

1151482814K 发表于 2020-6-29 02:32

11111111111111111111111111

3dm_16005410 发表于 2020-6-29 12:48

不错,有明显的变化

wanglong.... 发表于 2020-6-29 15:19

6666666666666

与其方 发表于 2020-6-29 15:20

666666666666666

QQWEW000 发表于 2020-6-29 20:35

牛牛牛牛牛牛牛牛牛牛牛呢

桃子VC 发表于 2020-6-30 00:52

惊了,厉害
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: [游戏内存优化] [原创作品] Devourer(解决内存崩溃,Skyrim LE 内存管理) - By 爱的圆周率