N-EMU · 复古游戏模拟器v1.10.1
开发故事发布于 thorv1.3.0

用预运行让按键反应更快

游戏读取按键后,要过一帧以上才会把结果画到画面上。预运行会提前运行这些帧,让反应更快,但计算量增加,也会更耗电。

封闭 Beta 测试

游戏读取按键后,要过一帧以上才会把结果画到画面上。在模拟器中还要加上显示与输入处理的延迟,按下后的反应可能会显得迟缓。

预运行会提前运行游戏原本会晚画出的帧。每显示一帧,都先让游戏前进一帧并记住该状态,再按设定的数量多运行几帧,显示更靠后的画面,然后回到记住的状态。按键结果因此提前显示,游戏仍一次只前进一帧。

只使用最后显示的那一帧的声音和振动,未显示帧的声音和振动会被丢弃。为避免提前运行的进度留在游戏内存档中,mGBA 还会单独复制即时存档中未包含的卡带存档内存,并一同恢复。倒带记录和即时存档只保留提前运行前的状态。

代价是计算量。每显示一帧,都要比设定的数量多运行一帧,并且每次都要保存和读取状态。因此默认关闭,并且仅在 1× 时生效,因为快进时没有必要让反应更快。

可提前运行的帧数按机种设定。多数最多 2 帧;超级任天堂和 Mega Drive 在实机测量成本前限制为 1 帧。任天堂 DS 和 PSP 的即时存档有数 MiB 到数十 MiB,PSP 核心在提前运行的帧中也需要图形处理,因此不提供。

开发过程中还发现了另一个问题。以 ares 运行的 6 个机种在画面交接较慢时,偶尔会一次前进两帧。预运行必须一次只前进一帧才能正确运作,因此改为等到画面交接完成;平时游玩中偶尔一次前进两帧的问题也一并消失。

尚未在实机上测量帧时间和电量的变化。

  1. 开发故事v1.2.0封闭 Beta 测试

    在游戏中写入游戏内存档

    游戏内存档以前只在切换到后台或退出游戏时才写入文件。从 1.2.0 起,数据在最后一次变化后保持 1 秒不变就会写入。

  2. 开发故事v1.2.0封闭 Beta 测试

    减少暂停画面的重复处理

    画面静止时,绘制仍可能重复进行。1.2.0 区分了需要重绘的时机,并允许先试用设置再保存。

返回列表支持的机型与功能