I think I give up on understanding it allZellSF wrote:They're just different sources of lag, where your lag comes from doesn't really matter as long as your end result is 2 frames of lag (as the hypothetical game here is designed for).fandangos wrote: Ok, this I'm not following.
Games have inner lag, a lag caused by the code of the game, this means a real snes hooked into a crt would have this lag.
Let's say this is a 2 frame lag.
Now this game is hooked into a LCD panel that adds another 2 frames of lag.
Now if you turn run ahead on, set it to 2 frames you would be covering the game internal lag, caused by the code, like in the SmokeMonster's video you see that MK Snes has more lag compared to Genesis version.
But you would still have the 2 frames of lag on your display.If you delay the startup of the CRT to match the LCD then they would match up, yes. If they you don't, they won't. It's not actually real time travel.fandangos wrote:Also if I understand it correctly, when you boot the game, the way it works you would not see the initial 2 frames so it can catch up with what it should be on a CRT. I mean, this would also mean if you have a fast speed camera and have a counter rolling on the CRT and LCD both would be exactly on the same frame?
I'm really confused as why you keep talking about this, what scenario do you have that requires syncing up a CRT and LCD exactly to within a few frames?
What I'm trying to do is compare emulation with run-ahead vs real hardware on a CRT.
The conclusion I'm getting from all this is:
Situation A: if a game has 2 frames of inner lag caused by the code and you use run ahead on your display with 2 frames of lag your experience would be exactly the same as the crt with real hardware, because the real hardware you would be always locked to the mentioned 2 frames of lag.
Situation B: if a game has zero frames of lag, there's nothing run ahead can do. Because there's no inner lag to that software and you are still facing your display, controller, OS lag. In this situation playing on real hardware is faster.
Run Ahead doesn't mean zero lag. It means fixing one end to compensate for the other.