Input lag: Could a ''speculative execution'' feature be implemented in Retroarch?

Some latency is unavoidable. The speculative pre-emulation thing is complicated to implement and ultimately a pretty hacky solution. As Ryphecha mentioned in your Reddit thread, it can lead to weird, jumpy behavior and spikes in CPU utilization as it does the rollback/catchup thing. I’d still like to see it in RetroArch but I wouldn’t hold your breath.

If latency is all you’re worried about and you don’t care about sync at all, you might like ZSNES or ZMZ, which have frame stutters and audio crackles, but very low latency.

But like It’s still very noticable for me with kms and they say that the emulation itself doesn’t cause much delay… Maybe my kms is not working correctly?

I tried reinstalling retroarch but my inputs still don’t work at all anymore.

Im trying fucking everything but the thing wont work anymore. I´m getting tired of this shit. I can google what I want but no one fucking knows. God fucking damn it why can’t something just ever work fuck computers.

It’s not a problem with RetroArch, it’s the input driver’s permissions, which are root-only by default in linux. Did you try doing the stuff from here again? http://libretro.com/forums/showthread.php?t=3210&p=24444&viewfull=1#post24444

Lol so much rage at a first Linux install. Take me back in time. :slight_smile:

I managed to get a well working virtual machine in the end, but it sure isn’t that easy at first.

[QUOTE=Tatsuya79;24492]Lol so much rage at a first Linux install. Take me back in time. :slight_smile:

I managed to get a well working virtual machine in the end, but it sure isn’t that easy at first.[/QUOTE]

Haha, I’m surprised enough I managed to install the OS itself without problems. I recently found out I failed my exam so I was extra pissed, sorry for the outburst xD

Do you have a decent display? A good high refresh TN LCD monitor helps a lot in reducing display lag. A CRT is even better.

Nah, just , 60 hertz. Would love to have a 120 one but my money has other priorities. Oh well, kms is a lot better than nothing, although I still need to get Retroarch to work again xD.

The response time is more important for latency than the refresh rate. Asus makes some very fast 60 Hz monitors (<=1 frame) that are moderately priced (see: the EVO monitor).

I think mine was 2 or something.

Out of curiosity, which games and cores do you use to test ‘feel’ and ‘responsiveness’? How do you measure? The only reliable method I’ve seen is a high-speed camera.

It’s obvious to me when things are broken but most new consoles have ~100ms of latency and I think most learn to compensate (and don’t notice unless frame rate becomes uneven).

Even high-speed cameras are unreliable unless they’re very, very high-speed (e.g., true 1k fps). Using a photoresistor with an oscilloscope is a more direct, reliable measurement with fewer confounders (i.e., you don’t need to count frames, keep a stopwatch or CRT in the frame, or wire an LED into the loop to tell when the button is actuating, etc.). I did some testing like this recently and hope to do a lot more in the fairly near future:

Okay, so my sound was delayed, and my input to a similar amount. So then I tried hard sync and kms but the sound lag was the same ofcourse. So because of this, I thought it was still a high delay. So I turn off the sound and then my brain stops messing with me, and ever since I can tell the big difference. In other words : I am retarded. Speculative Execution was only slightly faster, as far as I can tell. Somehow it seems like it feels different than 2D PC games but that’s probably the small amount of not really noticeable ms that I’m still getting.

So yeah, just because I heard the sound later, it seemed like the input was later. Something was still off…but all this time, not the input. However, somehow Super Mario World seems less responsive than other games…Maybe because I played it so much as a kid? who knows.

Are there sound cards that can get the audio latency at a really low setting without it sounding like, well, weird ass noises? I’ve always wondered because of Rocksmith’s audio engine setting, but when I googled about it I just got external sound cards for recording, which tend to not be compatible with much. the audio being good would make Rhythm Tengoku on GBA actually fun to play. Otherwise, it’s just a minor annoyance.

You can reduce your audio latency setting and try different drivers. JACK in linux and wasapi in Windows can both get very low, ideally, but YMMV.

OTOH, GBA emulation isn’t solid enough yet for that sort of thing, AFAIK. The music-timing-bonus-damage thing in Mother 3 is basically random in everything I’ve tried (though I haven’t tried it with recent versions of mGBA, which has had great improvements in timing lately; byuu has also greatly improved Higan’s GBA core’s timing, thanks to endrift and cydrak, so it may work better now, too).

[QUOTE=hunterk;24680]You can reduce your audio latency setting and try different drivers. JACK in linux and wasapi in Windows can both get very low, ideally, but YMMV.

OTOH, GBA emulation isn’t solid enough yet for that sort of thing, AFAIK. The music-timing-bonus-damage thing in Mother 3 is basically random in everything I’ve tried (though I haven’t tried it with recent versions of mGBA, which has had great improvements in timing lately; byuu has also greatly improved Higan’s GBA core’s timing, thanks to endrift and cydrak, so it may work better now, too).[/QUOTE]

I remember when I tried rhythm Tengoku, at the beginning you get to do a little test and no matter what it was always super off :P. How about DS? I can easily play Rhythm Heaven on my real DS but on DesMume it’s harder and I usually give up at the moai stage.

Yet another reason Byuu is awesome xD.

Well, to be fair, I think it was mostly endrift’s test suite and cydrak’s contributions that did the heavy lifting. mGBA’s timing is still a bit tighter, based on results from the test rom, but I wanted to give Higan credit where it was due :wink:

[QUOTE=hunterk;24669]Even high-speed cameras are unreliable unless they’re very, very high-speed (e.g., true 1k fps). Using a photoresistor with an oscilloscope is a more direct, reliable measurement with fewer confounders (i.e., you don’t need to count frames, keep a stopwatch or CRT in the frame, or wire an LED into the loop to tell when the button is actuating, etc.). I did some testing like this recently and hope to do a lot more in the fairly near future: http://filthypants.blogspot.com/2015/06/latency-testing.html[/QUOTE]

Definitely used a very-high speed camera – in this case for touch-screen latency measurement.

BTW — I LOVE your blog – thanks for the link (and for posting your experiences/findings). I will read through the rest of it later tonight.

heh. the audio latency setting still has a delay even on 1 0.o. Does this mean actually IS the input that’s lagging? I’m confused now.

also, why is desmume on retroarch so slow? I tried Rhythm Heaven. The sound and input delay is way better than in regular Desmume or any other game I’ve tried on retroarch.

@Reznnate Glad you like it :slight_smile:

@dylstew Hmm. Something may be amiss with your settings, then. At 1 ms, your audio should probably not be working at all. I think the lowest most people can go without breaking stuff is ~12 ms and many people can’t get below ~32 ms.

Dunno about Desmume. Maybe it’s got some weird internal buffering happening?

[QUOTE=hunterk;24742]@Reznnate Glad you like it :slight_smile:

@dylstew Hmm. Something may be amiss with your settings, then. At 1 ms, your audio should probably not be working at all. I think the lowest most people can go without breaking stuff is ~12 ms and many people can’t get below ~32 ms.

Dunno about Desmume. Maybe it’s got some weird internal buffering happening?[/QUOTE]

Well, with with dsound It didn’t. But with Xaudio I just heard terrible sound but it still was similar to the game’s sound but all messed up.

I got the low latency JACK driver to work. Btw Is there such a thing as a low latency kernel?