Optimal settings for Asteroids and other vector games?
-
I'd hoped that since upgrading to an 8GB Pi 4 I'd be able to get some better performance out of vector games, and have read a bunch of threads suggesting that it should be possible, including these:
https://retropie.org.uk/forum/topic/1035/how-to-make-vector-arcade-games-look-their-best
But I can't seem to find the sweet spot between looking halfway decent and a non-ruined framerate.
(I know real vector games don't have "frames" but we're not running an actual vector system here.)
The minimum resolution for them to look acceptable is 1024x768, and just that alone has a seriously detrimental impact on smooth running, even before you start boosting the line width or vector intensity for prettiness.
Can anyone who has these games running well with nice solid bright vectors (I'm currently using mame2003 but happy to switch to any lr core) post their settings and let me in on the secret?
-
Here's what I'm running, and it was the best I could get:
HARDWARE AND CORE:
- Device: Pi 4B (ram/OC won't matter for this one)
- lr-mame (I'm running an older 0.222, since discrete sound changes from 0.223 and later slow things down a bit. Give the latest a try though. It might work fine.)
MAME SLIDER CONTROL CHANGES: (Tab on keyboard)
- Screen Brightness 1.030
- Screen Gamma 3.000
Both of these changes will save only for the game you are running.
LIBRETRO CORE OPTIONS CHANGES:
- Alternate render method ENABLED
- Resolution 1024x768
- Save options for this game only
SHADERS AND OVERLAY
- Using zfast-crt shader, with all scanlines turned off (just give a bit of rounding). Could opt for no shader, too.
- Modified bezel overlay from @Orionsangel
- Optional: There is a glow shader with the shaders_glsl package under "blurs" called kawase_glow.glsplp. It's nice, but hits perf a little and might be a bit much
AT RUNTIME (optional / Tab on keyboard)
- If you want it to be even brighter, go back to MAME Slider Controls and increase Beam Width Maximum and Minimum to your liking (in that order).
- You may also add a little flicker there. Experiment with this one.
- THESE MAME CHANGES DO NOT SAVE. I never understood why MAME doesn't save these, but... Tis what it is.
FINAL RESULTS:
Will never be as bright/intense as a real vector monitor, but I think this looks pretty good. Tap image once or twice to zoom-in.
-
@roslof Huh, I get an "Initialising" crash when I try to run it in lr-mame, wonder what's missing.
-
@jimmyfromthebay run the game with verbose logging enabled, then check /dev/shm/runcommand.log
I would suspect the rom you are using doesn't match with lr-mame. Backup your current rom and find the newer one for mame 0.222 or above. -
@roslof Oh wait - all I had to do was turn off my default filters (phosphor and barrel distortion), which are doing nothing here anyway. With those disabled it's smoother than the cream in a Twinkie even with fat bright lines :)
-
@roslof said in Optimal settings for Asteroids and other vector games?:
Optional: There is a glow shader with the shaders_glsl package under "blurs" called kawase_glow.glsplp. It's nice, but hits perf a little and might be a bit much
Where might this be found, btw?
-
@jimmyfromthebay said in Optimal settings for Asteroids and other vector games?:
@roslof said in Optimal settings for Asteroids and other vector games?:
Optional: There is a glow shader with the shaders_glsl package under "blurs" called kawase_glow.glsplp. It's nice, but hits perf a little and might be a bit much
Where might this be found, btw?
-
@roslof Cheers, although I can't figure out how to actually use it. (I have almost no experience of fiddling with shaders.) I've got kawase_glow.glslp in /opt/retropie/configs/all/retroarch/shaders with all my other .GLSLP files, but it doesn't appear in the list of shaders I can select from the Retroarch menu :(
-
@jimmyfromthebay I was using advancemame on Pi3 as indicated in the first thread you mentioned: 1080p, no performance issues.
Even using a spinner with Tempest ;-)
Haven't tried on Pi4 but I would not expect it being slower. -
Another option:
I use a bezel that I made. Get asteroid.png and asteroid.cfg from here if you're interested. https://github.com/busywait/retroboxes/tree/main/overlay/Asteroids
I've tried lr-mame2003-plus and lr-fbneo. They need different ROMs, get the correct one from a relevant romset.
lr-mame2003-plus has more control over vector lines, but the screen is slightly squashed in height (black unused space at the top and bottom). The screen shot below shows that problem.
You can scale the picture to be a little taller, but then motion doesn't look as smooth. So, I use lr-fbneo.
With either core I used with the "normal" resolution, and integer scaled 2x to fit my bezel in the retroarch video options.
I don't use a shader. I do run with video_threaded = "false" to reduce latency by a frame. (I can't remember if I tested if that actually made any difference! I assume that it's taken away 16mS of lag).
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.