3 ms·
The rolling back technique you describe is often used for network play to hide the network latency ("rollback netcode"). When I first read about it I thought ab
by ectopod 5y ago
The rolling back technique you describe is often used for network play to hide the network latency ("rollback netcode"). When I first read about it I thought about using it to fix high emulator input latency, but never got round to it.
A quick search suggests that emulators do something slightly different called run-ahead. This is simpler because it only has to cope with a fixed latency. The graphics displayed are consistently a fixed number of frames ahead of the game state. For every frame it saves the state, runs the emulation forward a few frames, displays the frame and reverts the state.