Lag when using multiple gamepads with IME ( Android , Nexus 4 )

I posted here about a previous issue ( http://forum.themaister.net/viewtopic.php?id=494 ), attributing the fault to the Gametel gamepad - however I found that the issue is present on two different gamepads from different manufactuerers.

The problem is intermittent lag when using the controller, every second or so there is a slow down when using the controllers in IME mode.

The controllers that experience fps and sound lag are a Gametel device and the Moga Pro.

The Nexus 4 is unrooted.

This is mostly entirely down to Android and its InputEvent service. Input, audio and video - all three of them suck badly on Android in terms of latency.

The worst problem here is that the lag can get so bad that input events are not guaranteed to be handled within five seconds. If that happens, the main Java thread assumes that the app is unstable and will issue an ‘ANR’ (Application Not Responding).

This has happened for several people already who connect multiple gamepads to their Android device to play games on RetroArch.

We don’t have an obvious solution for this - to reduce the lag I’d strongly recommend using USB gamepads over Bluetooth gamepads as a general rule - you might have better luck with two USB gamepads at once - I did some tests with two USB gamepads and a USB hub and I couldn’t get it to issue an ANR at least.

I don’t think using a usb keyboard is the proper solution, other emulators do not experience this issue and it is strictly retroarch problem. Rather than get a usb keyboard I can use a different app, that is a much simpler solution, but I would much rather see a new release of retroarch without this issue.

I’m rooting my device now so I can have input without that extra input layer, I’ll post back here on whether it solves the problem.

As expected rooting the device and running the Moga Universal Driver server removes the lag.

I cannot imagine that this app would be useful to someone running with a bluetooth gamepad and limited technical knowledge. I hope this can change in the future.

We don’t have the financial means to buy every gamepad under the sun just to be able to ‘stress test’ it properly on Android. And we are certainly not going to take money out of our own pocket just to please people in this department.

Also, most of these IME drivers are closed source (and in some instances like the dancingpixelstudios PS3 one - payware) so there is no telling what is going on in the background.

If you think you can hold this over our head and if you think this makes us more willing to start buying up pads for the specific purpose of ‘testing’ them on RetroArch, you are sorely mistaken.

There is no ‘financial incentive’ at all for us to worry about people ‘using a different app’ - since we are charging $0.00 for RetroArch while they do charge money. For them there is a financial incentive to ‘compete’ - in some cases they have created legally questionable ‘startups’ specifically for this purpose - for us there isn’t - we have real life jobs/studies that don’t revolve around stealing other people’s code and making money off it (and even more money on the side with push notifications and ads). And we still do a way better job than most of those apps considering that we remain freeware and entirely open.