Which arcade cores support preemptive frames?

Topic says it all. I tried several but I always got the message of the feature being unavailable because of the lack of “deterministic frame state support”.

Please point me to any arcade cores that do support deterministic frame states and as such, the input lag reduction feature.

Many thanks,

Final Burn Neo does support it.

3 Likes

I can tell you which ones don’t support it, because almost all arcade cores support both Run-Ahead and Preemptive frames.

It is always good to have a look at the documentation, it is very well done.
https://docs.libretro.com/guides/arcade-getting-started/#integration-within-the-libretro-ecosystem

If it does not work, check the configuration according to the guide, possibly you are skipping something.

1 Like

I actually just tried and it said the opposite unfortunately. Running on Android if that might make a difference :crystal_ball:

Yeah, I’m on windows, unfortunately I don’t use retroarch on android so hopefully someone with more knowledge can help you out.

2 Likes

I wonder why is there a difference in the builds then :thinking:

Where is this coming from ?

@febs Only FBNeo and MAME(current) have deterministic savestates enabled (which is required for runahead/preemptive/netplay to not be greyed out in retroarch settings), and afaik the support for single-instance runahead is bad in MAME so the support for preemptive frames should be just as bad since it’s basically the same thing.

So the short answer is that only FBNeo widely supports preemptive frames at the moment (and i doubt that will ever change tbh, considering there are no plans to support runahead in upstream MAME).

3 Likes

MAME Current, FBNEo and MAME 2003+ support Run-Ahead/Preemptive Frames.
Well, MAME 2003+ apparently doesn’t support it anymore.

SAME CDi, does not support input lag reduction even though it is based on MAME.

Flycast Arcade and Kronos, it does not.

The other MAMEs and FB Alpha, I haven’t tried them, and I don’t think I will try them.

This would be the whole Arcade scene at RetroArch, I think.

Then why say “almost all arcade cores support both Run-Ahead and Preemptive frames” when it’s only 3 out of a dozen ? Furthermore, afaik that information is mostly wrong as explained in my previous post.

2 Likes

Only 2.

Yes, literally not correct answer, but, a little common sense, who uses FB Alpha CPS1? if nobody knows mame 2003+, which is relatively important. Flycast and Kronos are not even listed as Arcade cores.

I was very naive to assume, that since MAME current and 2003+, supported input delay reduction, so would SAME and the other MAME cores, but it is not aśi fact, 2003+ does not support it.

It is undoubtedly wrong.

Run-Ahead with dual instances operate at about the same speed as Preemptive Frames, which handles a single instance. 3%/5% less. When only one instance is activated, it runs at half the speed. FBNeo is slightly faster than MAME.

To complement the answer, with Preemptive frames (or Run-Ahead) FBNeo is the best option because it has better support, but if you want to play (FOR EXAMPLE) Killer Instinc, MAME Current is the only one that supports latency reduction, considering it is not optimized and the support that MAME has in RetroArch is pitiful.

Now, the important thing about the question, is the question.
@febs f you give more detailed information, you can get to a solution faster. It’s hard to guess.
What operating system? what cores are giving you the problem? vulkan?
Because if you are using MAME Current or FBNeo, your problem is a misconfiguration.

1 Like

Wii and 3ds users i suppose since they don’t really have enough memory to run anything else, but actually i wasn’t even counting splitted cores and the more obscure mame forks in that dozen, i suppose we’d be closer to twenty with all those.

About MAME and runahead, MAME(current) wasn’t compatible at all with the feature until last year. It was mostly due to the core not following libretro api standards (machine initialization happening in 1st retro_run call while it must happen prior in retro_load_game). Most likely, several other MAME-based cores are still suffering from the exact same issue.

The difference is far bigger in my experience, i just tested sfiii3 in FBNeo and went from a minimum of 1300fps with 2-frames preemptive frames to a minimum of 800fps with 2-frames runahead second instance.

Yes, actually RetroArch has a very wide arcade range, I would like to make some simple guides, then pure and latency files o_o

This machine is very slow, it doesn’t reach those numbers even if you push it. i have gpu caicos and glcore driver. But with two instances, in normal speed it runs at 60, if I disable the second one, it drops to 56 and the sound stutters.
I think these things can help developers, if we were to make such a test list.

Well, as i was mentioning in that other topic where we talked about flycast and runahead, i currently use an i7-12700K (which was still in the top 5 single-thread cpus last year).

1 Like

What operating system? what cores are giving you the problem? vulkan? Because if you are using MAME Current or FBNeo, your problem is a misconfiguration.

OS is Android, driver is vulkan. Now it is actually crashing tout court.

Are you using FBNeo ? As explained above, only FBNeo has proper support for preemptive frames.

The devices are very varied, but I think I am not wrong when I think that for emulation most of them use small devices, portable or old computers or computers older than the last two generations, and each one has different behaviors.

Yes! I can record the video of it happening.

@febs I’ll need more information, like the game you are trying to run and the logs. Also make sure you are using the latest version of retroarch and the core.

1 Like

Thanks, I still wasn’t able to produce the logs as using logcat is quite complicated unfortunately.