Ok, quick edit for those who won’t scroll all the way :
I did some tests, here is a montage, showing you can replicate CPS3’s speed with specific settings in Retroarch, alos, you can compare speed with OE and Shmupmame :
End results is we can now play 3S almost as on Arcade !
I’ll have to check again the input lag on both FBA and Mame cores, but if I recall what I typed below, the FBA core doesn’t suffer input lag…
Original first message :
Came across this by accident…
and later, noticed this :
I had been using shmupmame for the past years as I have a LCD, so Groovymame was out of question and don’t even understand how to install that.
I had just read a bit about groovymame code being implemented in retroarch, which led me to point number 1.
First off, it seems that Groovymame’s Vsynch improved greatly latency or maybe it’s the “Hard GPU Synch” feature, but it is more responsive than Shmupmame ever was.
Then, I did some tests, using a 60fps camera and Chun’s HK and noticed the first frame would come out in 4 frames on my setup… Shaders on or off didn’t change the performance.
On Shmupmame it took 6 frames, maybe 7 with the HLSL filters.
Using the Runahed feature (point number 1 above) effectively removes one frame of lag.
Then I came across point number 2, custom refresh rates, and tried baking one at 59.583393Hz. I tried both with my Nvidia control panel and with the CRU utility cited in point number 2.
Both with no success : the FPS counter in retroarch kept showing 60.2 FPS.
Then I digged into the “retroarch.cfg” and it turns out that simply changing the “video_refresh_rate” manually works !
I fisrt set it to 59.583393, and got 59.8 FPS.
I thought that 59.583393 Hz = 59.58 FPS, please, correct me if I’m wrong.
So I fine tuned it to 59.350000, which retroarch rounded to 59.349998 and it gave me a solid 59.5 FPS (actually, there’s always a bit of leeway and it’s mostly 59.54 occasionally changing to 59.68 FPS, which I found good enough for now)
So, am I mistaken somewhere or, am I getting extremely close to arcade perfect ?
The runahead feature can possibly alleviate one’s setup lag… stick, screen… One frame seems to be enough for me (I’ll run more tests with the camera now that I got the game to run closer to the correct speed but this thing took me off work for a few days now )
Can someone clarify if the correct speed to get close to CP3 would be 59.6 FPS or 59.8 ?
Now if you want to try, a few things to know :
- First, correct the speed by editing the “video_refresh_rate” in the “retroarch.cfg” file, and test in game, FPs should get stable once you’ve chosen a character. Setting>Onscreen Display> Onscreen Notifications>Display Framerate & Display Statistics
- Runahead feature doesn’t work with the mame core (as it doesn’t support save states)
- Runahead works with FBA core, but is a bit broken specifically with FBA in the latest version of retroarch : it can’t use the “use second core” feature that lightens the hit on performance (works fine on my CPU, but it should be even better with this setting on). If you want to use it, don’t turn the “second core feature” on. And problem number two, after 20mins of playing the game gets choppy and slow, turning off runahead fixes the issue, but if you need to play with it, you’ll have to reload the content. I played Megaman X on snes9x for half an hour with no choppyness, so the issue is FBA specific, in this version of retroarch. Means it should be temporary.
- You should choose to use Runahead only after doing some tests with a 60FPS camera to know how much your setup lags… check the first post of Isotopez’s thread : 3rd Strike Lag/Speed Tests
Retroarch is a great effort, but I found it particularly non intuitive, and some things really had me scratching my head, so here are a few pointers :
- Retroarch is designed to navigate with your stick/pad. On keyboard, you can use the arrows, enter and backspace, mouse seemed confusing and a good way to mess everything up
- you can reset a value to it’s default pushing start button
- Retroarch is the frontend, the emulator is libretro, and to run games it uses cores. Cores are emulators stripped and modded to work in retroarch.
- First thing to do once installed, is downloading the cores you need (here, FBA) using the update feature
- to launch a game, either load a core and then a content (aka rom), either load a content and specify which core to load when prompted… easy
- since retroarch is designed for a snes gamepad navigation, it has two types of mapping, the retroarch mapping settings>Inputs>User 1 where you tell the program what are A,B,X,Y,L,R,Select,Start. Think of a SNES pad where L will be High Punch and R High Kick. the second mapping is reachable while a game is launched
- I spent too much time having two keys mapped to a same button (LP and MK), the problem was the faulty driver I had chosen for the inputs, so if you have trouble, try changing that (Settings>Driver>Joypad Driver - NOT INPUT DRIVER)
- a game’s emulation options can be accessed through the “Quick Menu”
- you set a shader while a game is launched and settings can be saved for a core, or a rom folder, or for a single game.
- for a while shaders wouldn’t work for me… because I had chosen the wrong video driver (same path for all drivers)
- I haven’t found the perfect shader yet, but some light and decent ones with some tuning were crt-geom.glsl, or crt-pi.glsl
- going in and out of full screen will wipe whatever unsaved graphic settings you had going
- to access the test menu (to turn off regulation, set to freeplay, event, etc…) you need to set a hotkey in the game’s quickmenu>option>Diagnostic input
- not sure runahead works on retropie
Well, that’s about it, the forums are dead, but whoever reads this, have fun.
I haven’t played on a cab in a while now, the arcade next to my place close a couple years ago, so I’m interested to know what more experienced players think, to me it feels extremely close, even on my LCD.