存档状态vs存档文件:有什么区别?

存档状态对整个模拟器内存进行快照;存档文件镜像卡带的板载电池。这里告诉你何时使用每一个以及它们如何存储。

Mira Köhler 最后审核

存档状态——内存快照

存档状态是模拟器RAM、CPU寄存器、GPU状态、音频缓冲区的完整快照——一切都有。当你加载它时,模拟器恢复到你冻结它的地方,无论是跳跃中、攻击中还是对话中。存档状态通常为64 KB到4 MB,具体取决于系统,并存储在你浏览器的IndexedDB中,带有一个槽位标识符。

存档状态是仅限模拟器的功能——原始硬件没有等效功能。它们是模拟提供超越真实卡带的最大便利之处。

存档文件——卡带电池

存档文件(通常称为 SRAM 、savedata或.sav)是原始卡带写入其板载电池备份SRAM的数据。《口袋妖怪 红》的存档文件保存你的队伍、物品和徽章。《最终幻想VI》保存你的三个存档槽。模拟器将此文件持久化到磁盘(或浏览器存储)并在下次启动时重新加载,就像原始硬件一样。

存档文件通常为8 KB到128 KB。因为它们只在游戏中的存档点之间持久化,所以它们不允许你像存档状态那样从不可赢的战斗中回退。

何时使用哪个

  • 存档状态——在难boss之前的快速救援点、探索分支对话、为了稀有掉落而存档读档。
  • 存档文件——你期望在原始硬件上存活的长期进度。使用存档文件来保存你希望感到正统的运行。
  • 两者——大多数人使用存档状态来进行战术救援,依靠存档文件来推进叙事。这两个系统共存;它们不会相互覆盖。

它们存储在哪里

在像EmulatorJS这样的基于浏览器的模拟器中,存档状态和存档文件都存储在限定到页面源的IndexedDB中。除非宿主网站明确实现云同步,否则它们不会跨设备同步。清除浏览器数据会删除两者。大多数浏览器模拟器会暴露一个导出/导入按钮,以将它们备份为本地文件系统上的文件。

常见问题

原始游戏知道存档状态吗?
不知道。游戏没有概念说存档状态正在被取走——它只是像在硬件上一样运行。存档状态完全是模拟器端的功能。
我能在模拟器之间共享存档文件吗?
通常可以对存档文件(.sav格式在libretro核心之间相当便携)。存档状态是特定于模拟器的,因为它们包含核心内部状态。
我的存档会转移到另一个设备吗?
仅当模拟器网站支持云同步,或者你手动导出并重新导入它们时。