Open RetroEdit opened 1 year ago
I've been working on some patches that remove saving, and I was also interested whether prefetch played a noteworthy role in the differences between mGBA and real console for this game. So I modified the game so it wouldn't enable prefetch and wouldn't save. Here's my results from this:
At the end of 3-2:
- mGBA (1306cfe; BizHawk 2.9.1)
- With prefetch: -730 frames (-12.222 seconds)
- Without prefetch: +302 frames (5.056 seconds)
- SkyEmu 752d340
- With prefetch: -15 frames (-0.251 seconds)
- Without prefetch: +58 frames (0.971 seconds)
- NanoBoyAdvance e170695
- With prefetch: -36 frames (-0.602 seconds)
- Without prefetch: 0 frames (equal)
I'm going to try and consolidate some of this information and the game modifications I've done in a separate Github repo in the next few weeks.
I recently created a TAS of the GBA game Shrek 2.
While TASing, I began to suspect that mGBA had less lag than real console. To try and compare, I created a sort of console-verification by embedding the TAS inputs into the game itself. Here's a patch: Shrek_2_GBA_TASHack_0.2.0.bps.zip.
Using BizHawk 2.9.1, which seems to use mGBA 1306cfe15e61f7f25913a5770850439d761aa005, the game plays back in
21:20.850
(video, BizHawk movie file). The video has a timer in the bottom right based on GBA frame rate. It is played back using BizHawk's TAS playback functionality, but my modified game takes the exact same amount of time.I've also tested this on mGBA standalone, and got these results:
77015 - 476 frames is 21:21.469
76977 - 475 frames is 21:20.850
(same as BizHawk's mGBA time)On real console, it played back in approximately
21:38.783
, an almost 18-second difference (video). Watching some of the real-console playback, it's clear that some levels have more lag (e.g., end of 3-2), but I haven't done an exhaustive side-by-side comparison.I played back the movie two additional times on real console, and the times I got were
21:38.783
and21:38.750
, so all within a few frames. The times are also slightly inaccurate because the GBA screen, the video quality, and the frame rate makes discerning the exact start and end a bit imprecise.Lag differences
Here are some approximate differences between real console and mGBA:
Generally, multi-character levels have significantly more lag on real console than on mGBA. 3-2 is a particularly extreme case, with 6.7 extra seconds due to lag.
Some of the smaller differences are probably measurement error. I'd be a bit surprised if any level was actually faster on real console than mGBA. For instance, 1-5 is supposedly
0.356
seconds faster on real console, but it already has no lag on emulator. But it's also possible there's a separate issue.