会员登录

自动登录   |    忘记密码 新会员注册

SSE修复

作者:meh321
发布:83214353
发布日期:2019-12-30 22:05:34
更新时间:2019-12-30 22:05:34
头像
1180
562 人收藏
2259 次下载
7110 次浏览
3.1.5.73
上古卷轴5:重置版
本地下载 高速下载 需要优先下载下载器,50%提速

如何安装:


1.安装DLL Plugin Loader,确保阅读该mod的安装说明,必须手动安装。


然后


2.使用模块管理器安装此模块。


要么


2.将下载的存档中的“ DLLPlugins”文件夹放入您的数据目录。



它能做什么:


修复了游戏代码中导致安装了许多ESP或ESM插件的FPS较低的问题。还添加了启用OSAllocators的选项,例如在香草天际中,但默认情况下处于禁用状态,因为对我而言它会稍微降低FPS。



问题?


如果您遇到诸如崩溃增加或以前不存在的一些新错误之类的问题,请在此处告诉我。我只能一个人测试那么多,反正我也不玩SSE。您现在可以考虑使用此测试版,如果您重视保存游戏,请让其他人首先进行测试。



低FPS错误是什么:


游戏代码中存在一个错误,如果您安装了几十个以上的ESP或ESM插件,则游戏FPS在某些方面会降低很多。 ESP或ESM文件的内容无关紧要,它们可以是没有主文件的空虚拟插件。发生这种情况是因为游戏在每帧中至少有4个嵌套的迭代循环,并且对于安装的每个插件,最低的循环都会进行迭代,通常这不是问题,但是此代码可在多个线程上运行,并且对于每个插件,它都锁定一个互斥体每次,这都很慢。它甚至不是真正的错误,只是错误的实现。


但是您可以自己测试错误,方法如下


1.确保完全解开FPS,这意味着[显示]下Skyrim.ini中的bLockFrameRate = 0和[显示]下SkyrimPrefs.ini中的iVSyncPresentInterval = 0。显然,我并不是说要这样玩,它只是用来测试您损失了多少FPS。


2.获得一些在游戏中显示FPS的方法,例如Fraps,图形卡软件,ENB或其他。


3.禁用除基本游戏DLC之外的所有mod。


4.在主菜单中放入“ coc RiftenOrigin”,运行到市场中间,并查看一些您可以记住的特定位置。立即检查您的FPS。对我来说是145。


5.下载空的ESP插件,复制并重命名它,以使您拥有240个ESP插件,或使用一些脚本来执行此操作。在游戏中或Mod Manager中启用这些插件,但是您可以这样做。


6.在主菜单“ coc RiftenOrigin”中再次键入,然后转到相同的位置,在相同的位置。再次检查您的FPS。这是完全空的ESP设置,无需加载任何其他内容。


对我来说,不使用mod时为145 FPS,使用空插件时为50 FPS,这是毫无理由的巨大损失。尽管Riften是此测试中FPS的最大损失。


我测试过的其他地方:


“ coc Riverwood”,FPS 115-> 80

“ coc FalkreathExterior01”,FPS 102-> 53



那么如何解决?


我重写了基本上做到这一点的循环:


for(int i = 0; i <modCount; i ++)

{

    自动表单= GetFormById((i << 24)|(formId&0x00FFFFFF)); // GetFormId包含互斥锁

    // ...其他一些检查

}



并将其更改为使用自定义搜索方法,该方法仅循环浏览那里实际存在的表单。同样,它不会为每种形式锁定,而是为整个搜索锁定一次。



其他的东西


感谢reddit中的人向我指出了该错误。


感谢所有帮助测试和报告问题的人。


不,我不会在主机上使用它。


相同的错误在香草天际中不会发生。


如果您在其他任何地方找到此mod,它就会被盗。



变更日志


v2(27/06/2017)-更改了修复bug的方法,该方法可以减少很多卡顿现象。

——————————————————————————————————

How to install:

1. Install DLL Plugin Loader, make sure to read install instructions of that mod, it must be installed manually.

THEN

2. Use mod manager to install this mod.

OR

2. Put the folder "DLLPlugins" from downloaded archive into your Data directory.


What it does:

Fixes a problem in game code that causes low FPS with many ESP or ESM plugins installed. Also adds option to enable OSAllocators like in vanilla Skyrim, but it's disabled by default because for me it lowered FPS slightly.


Problems?

If you encounter problems such as increased crashing or some new bugs that didn't exist before, please let me know here. I can only test so much alone and I don't even play SSE anyway. You can consider this mod BETA for now and let others test first if you value your save game.


What is this low FPS bug:

There is a bug in game code where if you have more than a few dozen ESP or ESM plugins installed the game FPS will become much lower in some areas. The ESP or ESM file content does not matter at all they can be empty dummy plugins with no masters. This happens because there are at least 4 nested iteration loops the game does in every frame and the lowest loop iterates for each plugin installed, normally this wouldn't be an issue but this code runs on multiple threads and for each plugin it locks a mutex every time, this is very slow. It's not even really a bug, just bad implementation.

But you can test the bug yourself, here's how

1. Make sure your FPS is uncapped completely, this means bLockFrameRate=0 in Skyrim.ini under [Display] and iVSyncPresentInterval=0 in SkyrimPrefs.ini under [Display] as well. Obviously I'm not saying to play like this, it is just used to show for the test just how much FPS you lose for nothing.

2. Get some way to display your FPS in game, could be Fraps, your graphics card software, ENB or something else.

3. Disable all mods except the base game DLC.

4. In main menu put "coc RiftenOrigin", run to the middle of marketplace and look into some specific location you can remember. Check your FPS now. For me it was 145.

5. Download empty ESP plugin, copy and rename it so you have 240 of these, or use some script to do it. Enable these plugins in-game or mod manager or however you do it.

6. Type again from main menu "coc RiftenOrigin" and go to the same place, look at the same point. Check your FPS again. This is with completely empty ESP setup with no extra anything to load.

For me it was 145 FPS without mods and 50 FPS with those empty plugins, that's huge loss for absolutely no reason. Although Riften is the most significant loss of FPS for this test.

Other places I tested:

"coc Riverwood", FPS 115 -> 80
"coc FalkreathExterior01", FPS 102 -> 53


So how is this fixed?

I rewrote the loop that does this basically:

for(int i = 0; i < modCount; i++)
{
    auto form = GetFormById((i << 24) | (formId & 0x00FFFFFF)); // GetFormId contains mutex locking
    // ... some other checks here
}

and changed it to use a custom search method that only loops through forms that actually exist there. Also instead of locking for each form, it locks once for the whole search.


Other stuff

Thanks to people in reddit for pointing out the bug to me.

Thanks to everyone who helps test and reports issues.

No, I won't make this for consoles.

This same bug does Not happen in vanilla Skyrim.

If you find this mod anywhere else it's stolen.


Changelog

v2 (27/06/2017) - Changed the method of how the bug is fixed which should reduce stutters a lot.

原贴地址
1.版本号: 3.1.5.73   更新时间: 2019-12-30 22:07:37

选择快速回复类型:
  • 感谢
  • 支持
  • 疑问
  • 卖萌
  • 关心
  • 傲娇
评论


    作者精品
    logo

    SSE修复


    Mod大小:135 KB
    上传时间:2019-12-30 22:05:34

    Mod简介:

    暂无更多介绍


    选择快速回复类型:
    • 感谢
    • 支持
    • 疑问
    • 卖萌
    • 关心
    • 傲娇
    回复

    closeAD