17173 > 游戏资讯 > 官方公告 > 正文

《人工智能战争2》版本更新 - 5.811 - 修复AI煽动者性能问题

2026-05-31 04:40:41 神评论
17173 新闻导语

《人工智能战争2》5.811版重磅更新!彻底修复AI煽动者性能漏洞,内存GC压力狂降99%,游戏告别卡顿和掉帧,模拟速度飙升至100%!立即体验丝滑攻略。

完整发布说明。

本次更新内容丰富!

其中许多改进与一两周前的“内存地狱(Memory Inferno)”优化方向一致。不过,这次的重点在于后台线程产生的内存压力,而非主线程本身。自“内存地狱”更新后,主线程一直保持着极佳的状态,这一点没有改变。同样,过去作为内存压力最大来源的通用 GameCommand 框架,目前也运行良好。

相反,本次更新专注于解决积少成多的细碎问题,特别是在拥有多个派系的游戏中。在这些情况下,我测量到每秒产生 29 MB 的额外 GC(垃圾回收)压力,虽然这远低于“内存地狱”更新前的高点,但依然非常巨大。目前这一数值已降至每秒 0.7-1.3 MB 左右,节省了大量资源。这减少了资源争用,使游戏运行更加流畅。

本版本标题中提到的“中子星”实际上是指 AI 煽动者(AI Instigators)派系中一个存在已久的漏洞。如果在游戏后期,他们想要扩张到其他星球却无法实现时,每一帧就会占用大量的 CPU 时间。具体细节见下文,但其影响确实非常剧烈。这是唯一存在该特定漏洞的派系,不过它同时存在于主游戏和“Classic Fusion”完全转换模组中,目前两者均已修复。现在它的资源占用最多仅为过去的 6% 左右,这使得大多数系统都能获得完美的模拟速度。

作为该修复的一部分,我还进行了其他更改以防止其他派系出现类似严重问题,不过它们之前的情况最多也只是每 5-30 秒让模拟速度下降到 85% 左右,而不像之前那样持续将其压制在 40% 或更低。虽然那也不理想,但远没有那么严重。总之,现在它们都已解决。

祝大家玩得开心!

5.811 更新日志
代码改进
  • 扩展了 display_name_for_sidebar,使其不仅适用于舰船。
  • 改进了多个 Fireteam 方法,不再需要会导致 GC 分配压力的闭包,同时保留了比简单 foreach 更复杂的“移除并继续”逻辑。这有助于减少后台线程 GC 压力的最大来源,尽管尚未完全解决。
  • 改进了银河地图上运行的一些通用代码,以避免不必要的内存占用。
  • 完成了“内存地狱”更新中遗留的工作,移除了导致 GC 压力的 DoFor 方法,并将其全部转换为 foreach 方法。所有已启用的模组也已更新以使用这种新格式,因此旧的 DoFor 方法这次已被彻底移除,不再为了向后兼容而保留。目前不应再有任何地方使用它们,而且它们在重度游戏过程中确实造成了巨大的内存压力。
  • 当游戏因任何原因写入调试日志时,现在使用的内存明显减少。在某些情况下,大规模的写入级联可能会在单次调用中占用 400kb(例如,从后台线程延迟写入的 19 次调用),现在则变得非常高效。
  • 如果 ConcurrentDictionary 在调用 Clear() 时已经为空,它不再会无故分配内存来重建表。
  • 清除了后台线程中其他各种内存压力来源——共有几十种模式。在重度游戏过程中,我现在的 GC 分配量为 0.7-1.3MB/秒,而上周末之前是 29MB/秒。这是在“内存地狱”更新带来的大幅度削减之后的结果,因此该版本带来的节省效果非常显著!
  • 调整了游戏启动时模组列表写入日志的方式。现在只显示已启用的模组列表,而不是显示所有可能的模组及其启用状态。这使得通过日志理解当前状态变得容易多了。
错误修复
  • 修复了“扩展舰船变体(Extended Ship Variants)”模组中 Polarazer 被重命名为 Polarizer 导致的问题。
  • 修复了“回收者(Reclaimers)”模组在启动时因名称对于侧边栏来说过长而报错的问题。
  • 修复了如果 Neinzul Custodian 派系无法正常加载,会导致整个存档加载过程完全报错的问题。
  • 修复了如果父派系的子派系在存档中因某种原因未正确链接,会导致无法重新链接并创建重复项的问题。现在它们可以正确链接,一切正常。
  • 修复了 AI 煽动者的一个漏洞:他们每秒会执行一次极其昂贵的 GetPlanetForInstigatorBase() 调用,如果找不到有效位置,仅此操作就需要花费约两个完整的模拟步骤时间。现在限制为如果失败则每 30 秒左右运行一次,这使得性能立即提升至 100%,尽管每 30 秒左右会有一次降至 70-90% 模拟速度的波动。这仍然需要进一步优化,但这是一个好的开始。该问题逻辑也被用于其他许多地方,它基本上会对所有星球进行全面扫描,然后对每个星球的关联星球进行扫描,并伴随大量其他逻辑,以及一百次全部失败的重试。随着重试次数增加,限制会放宽,所以理论上重试会持续一段时间,但一旦游戏进行几个小时后,这种机制就会失效。这并不是游戏中唯一出现这种情况的地方,所以我怀疑这是导致许多“游戏后期性能突然崩溃”存档的罪魁祸首。
  • 限制 AI 煽动者在进行昂贵的跨星球搜索时只能进行 6 次重试。同时调整了其他许多派系,以相同的逻辑进行限制。这应该能让之前的“随重试次数放宽”逻辑正常发挥作用,但也将完全失败带来的负载削减为之前的 6%。在煽动者的案例中,原本需要花费约 460ms,现在平均只需 28ms,这使其从每 30 秒一次的大幅掉帧变成了几乎可以忽略不计的波动。
  • 修复了加载存档时星球引力井大小因某种原因变为空值时可能发生的错误。

《Heart of the Machine》1.0 现已推出!


【来源:steam】
我想了解这个游戏:
官网 专区 下载 礼包
关于人工智能战争2,5.811,AI煽动者,性能修复,内存优化,GC压力,修复,模组,模拟速度的新闻
17173 首页全新改版规划中!现向各位玩家征集真实使用意见,你的想法将直接影响新版页面设计~动动手指填写问卷,快来共创你心仪的页面布局吧! 参与问卷