前置 Mod
详情
警告:本 mod 与 SpriteMaster 不兼容,后者修改了同样存在性能瓶颈的 StardewValley 核心代码。你只能在 SpriteMaster 和本 mod 之间二选一,不能同时使用。
工作原理: 本 mod 修补了《星露谷物语》核心中几个效率极低的方法。这些方法占了游戏总加载时间的一半以上。这些方法用于生成 NPC 路线,因此你的 NPC 越多,游戏加载就越慢。本 mod 通过对所有路线进行哈希来构建高效缓存,然后修补路线重建逻辑以使用该缓存。此性能问题似乎在《星露谷物语》v1.6 中已修复。
Twitter 上讨论本 mod 细节的帖子:https://twitter.com/dev_spajus/status/1733122991943250182
我是如何发现这个瓶颈的:我使用 Superluminal 性能分析器 抓取加了 mod 的《星露谷物语》的运行情况并分析数据。如果你制作 mod、游戏或任何类型的软件,请使用这样的工具并认真对待性能问题,不要让玩家忍受漫长的等待时间,也不要浪费电力。计算机非常快,加载时间超过几秒是没有任何借口的!加了 mod 的《星露谷物语》中还有许多其他低效之处,在大多数硬件上加载时间本可以缩短到几秒,但遗憾的是,这并不像我这里修复两个小方法那么简单,每位开发者都应该在自己的代码中各自解决。
本 mod 不做什么:它不会缩短游戏启动时间。它不会提升整体性能。它只影响新游戏开始、存档加载,以及某些涉及在后台重建 NPC 路线的场景切换。
潜在副作用: 取决于你所装 mod 的数量和类型,缓存中两条 NPC 路线发生哈希碰撞的概率很低(低于 0.001%)。如果发生这种情况,某些 NPC 可能会缺失。内置了调试选项来确保这不会发生,但你需要通过配置来启用它们。见下一节。
配置: 你可以启用 “Detect Collisions” 和 “Abort On Collision” 配置选项,以确保没有 NPC 行为丢失。在低端硬件上开启碰撞检测后,游戏加载可能会稍慢。
源代码:https://github.com/spajus/stardew-valley-fast-loads
其他: 我全职在做的游戏:Stardeus —— 一款科幻太空殖民地模拟游戏,你还可以在那里种植作物。

