mGBA runs all games at 50 fps instead of 60 fps

Hi everyone here I’m seeking a bit help! I’m a long-time Retroarch user but only recently started to use it also for handheld games and I don’t remember when the problem actually started but I have a weird problem with my mGBA core.

It doesn’t matter what game I load, the game is always locked to 50fps and stutters, it gets even weirder, if I press Space to unlock the speed / disable V-Sync it actually drops down to 25fps o.o The GPSP core works properly in comparison.

My system:

  • i5 8600k @4.4ghz
  • GTX 1070 8gb
  • 16gb RAM
  • Windows 10 1909 64bit
  • GeForce 442.59 WHQL drivers
  • 144hz FreeSync Monitor running in G-Sync mode
  • Retroarch 1.8.4
  • mGBA 0.8.1 f87f8ef
  • Sync to Content Framerate enabled
  • Vulkan video-backend
  • xaudio audio-backend

I already tried to disable/enable V-Sync and Sync to Content in different combinations, switching to OpenGL also made no difference. I also tried to disable MSI Afterburner and RTSS beforehand but that didn’t help either. As a last resort I disabled FreeSync on the monitor itself and tried a clean, fresh Retroarch config-file but no dice. All other cores, like bSNES Accuracy, Balanced, Flycast or beetle PSX work fine so I’m really at a loss here, both my CPU and GPU are at less than 10% usage and I have no idea what’s going on with mGBA. A weird thing I noticed, if I enter the Retroarch menu while mGBA is running and then exit it again it briefly runs at 60fps before dropping to 50fps again after like two seconds.

Thanks for any help in advance! :slight_smile:

pretty weird your problem.

Do you test making another clean installation??

This is a weird issue that appears to be caused by an interaction between the way mGBA handles rumble and certain gamepads (commonly the 8bitdo Pro pads, but I think I’ve heard of at least one other pad having the same problem). If you change your joypad driver to dinput instead of xinput, it should clear up, I think.

2 Likes

Wow. I spent a good few hours trying to figure out why my i7-6700k and 2080 Ti couldn’t run GBA games at full speed after updating from 1.7.2 -> 1.8.5. The issue actually also occurs with the VBA-M core. Switching the joypad input to dinput, re-opening RetroArch, then powering the 8bitdo SN30 Pro+ on using Start + B for dinput mode ended up fixing it. What a bizarre bug.

Is this something that can be patched on the emulator side, or is it something faulty with the controller driver itself? Wondering if we can expect a fix for this or if I need to bug 8bitdo about it.

1 Like

Wow I randomly checked back and thank you so much, this was indeed also my issue, my 8bitdo SF30 Pro was causing the mess! Interestingly enough I noticed I can leave the SF30 Pro in Xinput Mode and mGBA will run fine if I launch RetroArch through Steam and let Steam handle the Xinput system. This is really bizarre and yeah hopefully this gets fixed sometimes.

Either way thanks again! :smiley:

1 Like