N64 core input lag comparison

Way back in 2018, I tested a few different n64 emulation options and their respective input lag. Has anyone performed a more up to date comparison with the current offerings of different cores and settings? I feel like emulation of the 8/16-bit era are fairly close to the input lag experience of the original console+CRT. But unfortunately with the n64, things like runahead are not possible and there just seems to be more processing overhead (like framebuffer emulation) that adds input lag. With the analogue 3D going up for preorder, I’m wondering how close is current n64 emulation to reaching that original console+CRT input lag.

It’s been a long time since my own testing and I’m still using that same old mupen64 core with the framebuffer emulation turned off. This setup leaves a lot to be desired for accuracy, but input lag has always been most important for me. With all the developments over the last 6+ years, I would guess there is a core and setup out there with the best of both worlds.

Here’s a link to my original post and also a snippet of my results. Ruanhead on n64 possible?

Here are the results for Mario Kart 64 (ntsc)

Project64 - 128.2738095 ms

ParaLLEl - 89.73214286 ms

Mupen+FBE OFF- 65.32738095 ms

Some background on my setup: -xbox one S controller via USB -Samsung KS8000 TV (about 22ms input lag according to rtings) -Latest public release of Windows 10 -Retroarch 1.7.3 -Project64 2.3.2 with GlideN64 3.0 -Hard GPU sync enabled, no runahead enabled

1 Like

Ok, I am getting twice the input lag on the new (current) Mupen64Plus-Next core with ParaLLEl compared to my old Mupen64 core that I originally tested back in 2018.

I redid the tests on the old core since I have a new TV, RetroArch version, etc. and got only 51ms input lag. This is with 25 button presses recorded. Now with the current Mupen64Plus-Next, I’m getting over double that and I can’t figure out how to make it better. I tried a variety of changes, but nothing helped much. Things I tried were:

  • -vsync on, swap interval auto, sync to exact content
  • -vsync on, swap interval 1, sync to exact content
  • -vsync on, swap interval 1, sync to exact content,nvidia low latency set to ultra
  • -vsync off, nvidia low latency set to ultra
  • -G-sync set to Fullscreen and windowed mode (instead of just Fullscreen)
  • -Tried recording in a different codec since I was worried about some camera glitch

Hopefully someone can help me with settings since I’m getting over 100ms of lag (button to action) when only 51ms is obtainable on my setup with an older core.

Disabling framebuffer effects improves input lag dramatically but it’s not accurate, the real N64 may also have higher input lag itself. Don’t forget most N64 games run at 30 fps or even 20 fps, not 60 like the 8 and 16 bit games usually do. That means it has more lag than those by default and that applies to the PS1/Saturn as well.

Anyway you can’t disable framebuffer effects in Parallel RDP so you can’t hack a better input lag. You can do that with GlideN64 though.

Also, try Max Swapchain images “2” when using Parallel RDP/Vulkan and GPU Sync “ON” when using GlideN64/OpenGL.

1 Like

This is true, my current testing is using the old mupen core with FBE off vs. ParaLLEl so the lack of FBE is helping bring down some lag. I just didn’t expect it to be that much. Over >100ms is where I really start to feel the lag so unfortunately ParaLLEl may be still out for me, which is a bummer because the emulation itself looks great on this core. Oh, and yes, I forgot to mention that I am running with Max swapchain images at 2 on Vulkan. And I always use “hard GPU sync” with all of my OpenGL cores. Perhaps there is a bit of extra lag here going from openGL to Vulkan on an Nvidia card like pneumatic found: Let's talk about Latency (and Game Mode)

I might have to try GlideN64 again, I remember having issues in the past with it causing weird glitches on games and having added input lag (even with FBE off). But this may be fixed now. I’m not sure how the ParaLLEl core compares to mupen64plus-Next w/ParaLLEl in terms of input lag. From what I read the ParaLLEl standalone core is older and hasn’t been updated, but may have less lag? It’s hard to know since there’s not much discussion it seems, especially comparing the input lag across cores.

I also don’t know what the original console+CRT input lag is. I haven’t found anything on the internet for Mario Kart 64 like I have with SM64 or SSB64. I always feel like less is better, but if it truly is a 100+ms lag game, I guess I’d rather stick with ParaLLEl and have the better emulation and authenticity

1 Like

I would’t use the old Parallel core personally, no matter how it performs in terms of input lag. Its way out of date.

Mupen64 plus-next with Parallel RRP/RSP is the only choice for me.

There is an easy way to see if you get more lag than the original console. In Mario 64 do the triple jump. For the third jump press the button exactly when Mario touches the floor. If he does the triple “yahoo” jump you are OK. If he resets, you might have more lag than normal. This works because the third jump has a very tiny window of error. Try the same on the real N64 and see if it feels easier.

Also, try Smash Bros. This game has almost zero lag. Use the frame advance technique, it should react at the next frame. Mario 64 should have about 5 frames of lag so about 80 ms without counting the monitor and gamepad.

1 Like