
BA2限制修复
移除256个活动存档的BA2限制
查看大图[b]功能[/b]
Starfield 通常为已加载的 BA2 归档使用 8 位索引,从索引 0 到 255 提供 256 个可寻址槽位。大型模组列表可能会耗尽此范围,导致后续归档无法正确加载,并可能造成资源缺失或崩溃。
BA2 Limit Fix 将 Starfield 的普通 GNRL 归档注册表和流式 DX10 纹理归档注册表均扩展至逻辑索引 0 到 65,534。这在每个注册表中提供了理论最大 65,535 个可寻址归档。
该插件扩展了归档注册、可接受的归档条目、同步和异步资源检索、条目复制、纹理流选择以及纹理元数据查找。
该更改完全在运行时侧进行,并在早期启动期间自动应用。它不会修改 BA2 文件、插件或存档游戏。
此模组与 Starfield 版本 1.16.236 和 1.16.244 兼容。
它会自动将已注册的 GNRL 和 DX10 归档数量记录到:
Documents\My Games\Starfield\SFSE\Logs\BA2LimitSF.log
请注意:如果您使用 [url=https://www.nexusmods.com/starfield/mods/10457]Starfield Engine Fixes[/url] 并且之前启用了 bBA2Counter=1,请在超过原始 BA2 限制之前将其改回 bBA2Counter=0。否则,Engine Fixes 可能会显示其旧版限制对话框,并在原始边界处停止归档加载。
## [b]测试[/b]
已进行自动化测试,以测试归档索引边界、保留的 0xFFFF 值、稳定的溢出存储、归档生命周期重置以及并发访问,并使用专用的 GNRL 和 DX10 归档探针进行诊断。
Starfield 使用 260 个 GNRL 和 260 个 DX10 夹具归档进行了实机测试。该插件从完整归档索引 258 读取了精确已知的 GNRL 有效负载,并从逻辑索引 260 读取了精确已知的 DX10 有效负载。同步、异步和复制检索均经过测试,同时测试了实时 DX10 流选择和元数据路径。该运行在 10 条插桩路径上记录了 1,757,274 次溢出路径命中,零失败。
另一位测试者使用真实模组列表进行了实机测试,其中包含 350 个 GNRL 归档(包括 94 个超出原始边界)和 277 个 DX10 归档(包括 21 个超出边界)。该会话在其检查点记录了 183,230 次诊断命中,零失败。继续游玩测试了完整归档索引 276 处的两个实时 DX10 消费者。
## [b]致谢[/b]
SFSE Team - Starfield Script Extender
Mith077 - Daytripper
[left][url=https://ko-fi.com/asciimods][img width=40,height=40]https://storage.ko-fi.com/cdn/cup-border.png[/img][/url][/left]
[url=https://discord.gg/Wz393uJ8Qh][img]https://img.icons8.com/color/48/discord-logo.png[/img][/url]
[url=https://github.com/1001Bits/BA2-Limit-Fix-Starfield]Source[/url]
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。