工人旋转锁修复

创作者: GoAhead78
已更新:2026-06-26 21:02:48
4.9MB

关于此 MOD

用于修复Skyrim SE 1.5.97引擎工作线程调度器中AB-BA自旋锁反转问题的插件,该问题会导致游戏彻底卡死。
描述
天际特别版1.5.97版本的工作调度器存在引擎缺陷。其内部的两个自旋锁(在二进制文件中分别命名为LockA和LockB)可能被两个工作线程以相反顺序同时获取。一旦发生此种情况,两个线程均无法继续推进,主线程将永远等待一个永远不会到达的工作线程确认,导致游戏彻底卡死。

WorkerSpinLockFix是一个小型SKSE插件,专门修复这一特定bug。它不会提升帧率、ENB性能、脚本运行、存档大小、AI、动画或其他任何方面。它只解决一个引擎bug:工作线程池中的AB-BA自旋锁反转问题。

如果你的《天际》在正常游戏过程中——战斗、移动、龙吼、弓箭、施法——随机卡死,只能通过任务管理器退出,那很可能就是这个Bug在作祟,而这个插件能修复它。


主要特点
AB-BA反转的结构性修复(主要,默认)。在LockA获取器上设置一个内联钩子,外加引擎工作线程调度循环中心内的两处精准调用点补丁。当LockA持有时发起的LockB获取器调用会被延迟到线程本地队列中,待LockA释放后重放,从而从根本上杜绝AB-BA循环的形成。

运行时断路器作为纵深防御(默认)。在BSSpinLock::Acquire上设置单一内联钩子,配合无锁的每线程等待图。若在结构修复未覆盖的路径上形成环,断路器会在可配置窗口(默认2毫秒)内确认该环,并通过一次InterlockedCompareExchange强制释放锁。在结构修复正常运作时,此层预计永远不会触发——但作为安全网存在。

精准打击,而非一刀切。慢路径仅针对与该问题相关的两个特定引擎自旋锁。引擎中所有其他BSSpinLock::Acquire仅需一次指针比较和一次尾调用(3 GHz下约2纳秒)。对热路径无可测性能影响。

对LockB获取者采用调用点修补而非函数包装。函数入口保持原样,因此其他挂钩这些函数的模组仍可正常工作。若其他模组已重定向相同调用点,预修补字节校验将拒绝安装。

可选的老旧所有者回收兜底机制。用于捕获极少数情况:某线程持锁死亡,而另一线程仍在等待该锁。自v2.0.3起,此层不再挂起任何引擎线程。它读取由运行时中断器填充的等待图,并使用GetExitCodeThread来测试所有者的存活状态。默认关闭。

遥测。插件每分钟(可配置,或关闭)输出一行计数器。健康特征为phase4_queued > 0,breaks_done = 0:结构性修复正在抢占循环,运行时断路器无需清理任何内容。断路器实际运行的每个周期都会输出一个结构化的[CYCLE] / [BREAK]块,包含线程ID、锁地址和观察到的持有者——事后可审计。

每层都有逃生舱。每一层在TOML中都有自己的终止开关。如果任何部分出现问题,你可以单独禁用各层,而无需移除整个插件:`[phase4_defer] enabled = false`,`[acquire_hook] enabled = false`,`[breaker] break_enabled = false`(仅检测模式),或 `[plugin] enabled = false`(完全失效但无需卸载)。

兼容于 天际单元格加载冻结修复NG . 不同引擎原语(BSSpinLock 与 BSReadWriteLock)、不同调用点,互不重叠。若两类冻结均存在,请同时运行。


特别感谢:
Diablo:代码审查
福摩提斯 :测试
Nexus账户PC游戏迷::测试
Salemx27:测试



GitHub


上古卷轴5:天际 特别版 的热门 MOD

探索适用于 上古卷轴5:天际 特别版 的最佳MOD,带来新功能、升级画面,以及令人兴奋的方式来改变您的游戏体验。

2025-12-16 11:53:50

前置必备Mod

修改与Mod必备前置工具

ModOrganizerTeam2024-08-04 16:31:44

Mod Organizer(MO)是一个用于管理任意大小的Mod集合的工具。它是专门为那些喜欢尝试mods的人设计的,因此需要一种简单可靠的方法来安装和卸载它们。

天空用户界面

schlangster2017-10-04 05:03:26

界面优雅,对电脑友好,并具有许多高级功能。

非官方《上古卷轴5:天际》特别版补丁 - USSEP

Arthmoor2025-09-01 07:56:09

一款针对《上古卷轴V:天际特别版》的综合性错误修复模组。非官方天际特别版补丁(简称USSEP)的目标是最终修复《天际特别版》中所有尚未被官方修复的错误。

静态网格改进模组 - SMIM

Brumbek2018-07-05 02:28:26

这是一个旨在大幅提升《上古卷轴5:天际》中无数静态3D模型外观的大型项目。简而言之,我希望通过这个项目让天际的建筑、杂物、家具和景观更加美观。

SKSE插件的地址库

meh3212024-02-14 09:19:54

包含头文件和数据库,以便轻松实现 SKSE DLL 插件的版本独立性。

比赛菜单

expired69782024-01-27 03:38:17

角色创建菜单全面改版,新增多种自定义功能,例如多种RGBA战纹、身体彩绘、手部彩绘和脚部彩绘。(需要SKSE)

Fores Skyrim SE-FNIS SE中的新闲置

NexusModsCaretaker2020-02-19 01:47:03

Skyrim没有可能的自定义动画?错误的。FNIS行为允许添加不同类型的动画到游戏:闲置/姿势,顺序,家具,配对,杀戮,生物,等等。

使用 Xmod 解锁 上古卷轴5:天际 特别版 的全部潜力 — 今天就探索这些顶级 MOD!