In fairness there is an absolute ton of incorrect info online about the settings. I'm only interested in CRT and have no clue about LCD or VRR LCD settings. Perhaps an updated FAQ on the top of this forum would be good?
I know some tell ridiculous things about GroovyMAME settings but one thing's for sure is that they could always come ask questions here instead of spreading BS, I've never asked elsewhere myself, why would one do that ? the very developers are here in person.
Anyway.
Though arguably this forum has long periods of non-responsiveness, you will see tumbleweeds and hear only ghostly whispers for answers, because the one person who's best at helping is Calamity himself who's sometimes too busy IRL.
Also I think he and the people who contributed to GM don't care too much anymore if people understand their build or not, since they've basically explained and provided support to the best of their ability for over a decade but failed to make things clear to the majority despite that, I think they're fine with only a small users base, mostly of the usual CRT builders kind, who are educated-enough to manage the bulk of it without extensive 'from scratch' support.
There IS a 'quick guide' available on another forum, I've never understood why there since it hurts visibility
https://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=433Newcomers to GM typically miss it, they naturally first come here on BYOAC unaware of its existence.
Anyway, its contents at some point might fall behind development evolution and lack mention of some settings, though the author will update chapters from time to time.
Despite calling itself 'quick' it looks quite dense which discourages some readers I think lol, but note that it covers most essential topics for a basic use, which are impossible to summarize in just a few words.
You don't need to know everything anyway.
on standard LCD:
edit Groovy's mame.ini
monitor lcd
Then ingame press TAB and in the SLIDERS menu adjust
frame_delay and
vsync_offset (the latter is for if you see tearing, balance the two sliders to eliminate it).
Note vsync_offset increases CPU/GPU load so don't try to set it too high, instead reduce frame_delay by a step then try adjusting the offset again.
Your settings save automatically.
NB1: about games that are originally less than 58Hz refresh: frame_delay will only work as long as vertical sync is active, on a normal 60Hz flat panel display because of
autosync vertical sync turns itself off and hands it to triplebuffer (better called 'asynchronous' mode now) in order to avoid speeding up the games too much, like for instance playing R-Type's ~55Hz locked to 60Hz would run the game at something like 109% which is unacceptable for some players. Remember that by default
sync_refresh_tolerance is set to
2 (= 2
Hz which means actual vertical sync with frame_delay will only be active for games down to 58Hz and therefore not R-Type and many others that are less than 58).
Since
again frame_delay does not work when that asynchronous/triplebuffer mode is active, the concerned game's speed becomes correct but scrollings are no longer smooth and the lag is increased (up to 0.5-1.5 frames as I've already mentioned, which is afaik still faster than typical triplebuffer).
So, to take control of that you are free to increase
sync_refresh_tolerance to cover more or less games. Personally when I use a simple 60Hz monitor like my laptop's, I set it to 2.78 so it will properly sync games down to Sega sytem18 hardware without accelerating gameplay more than 105% (you can just set tolerance to 3 to make it simpler), but if someone wants even games like R-Type to have real sync with frame_delay benefit, then they're free to increase that setting to 6 or 7 or even more, set it to 10 and all games emulated in MAME down to 50Hz will by covered by smooth vertical sync and frame_delay (though very accelerated for the lower end!)
Alternatively you can also of course fine-configure by creating individual game.ini files if you prefer that to a single fixed limit.
NB2: with a small number of standard LCDs/flat panels, GroovyMAME is still able to generate its own 'homemade' VRR working with AMD GPUs...yes...and even without CRT_Emudriver installed.
Thanks to the setting
allow_hw_refresh, personally besides my current main VRR desktop monitor, I own two simpler NON-VRR monitors that will still play all games at their native refresh rate thanks to that setting.
One is a 2007 monitor, the other 2017 iirc, neither is officially VRR capable, yet with GroovyMAME it works. This is a kind of hack ppl also experience using CRU and that Calamity has long implemented in Groovy, now it works even without installing Emudriver.
It is a niche feature that won't work on all monitors but it is worth a try.
TBH though FreeSync/G-Sync monitors have become rather affordable, for instance I own a Gigabyte M32Q which I've seen under 400 on sale recently.
on VRR LCD:
monitor lcd
...
autosync 0
Done.
If you still notice tearing or choppy scrollings then the problem might come from your setup and not from GM.
Recently I've had bizarre issues with G-Sync (but not just using GM, also with PC games) that wasn't 100% smooth, seems it fixed itself but not sure how tbh.
No issues with FreeSync.
PS: if necessary remember to reset your individual ingame settings like the SLIDERS ! since you don't need them anymore.
For baseline MAME best input lag results: (will never be as good as GroovyMAME with Frame Delay)
They're as good as long as you use VRR/CRT (edit: but who uses baseline for CRT btw?)
You just need to to set lowlatency 1 and make sure that any kind of vsync setting is 0 in baseline.
Done.
In regards to the common confusion about GroovyMAME;
Besides the obvious CRT dedication then, Groovy can also maintain real refresh rates and input lag identical or quite close to the real hardware...even on a standard LCD/flat panel, and that still without sacrificing vsync.
That's the point of its features besides the real CRT resolutions ability.
Yet I've met many people who were not aware of that even having heard and even tried GM. Not shitting you.
Some are confused with what GM is actutally capable of besides the first thing they've heard maybe 10 years ago "its meant for CRTs period".
In fact it packs LCD/flat panel features that are unique to it and way more advanced that other build's.
In regards to lag reduction;
The only thing some ppl ever heard about to achieve that is disabling vsync on everything - PC games or emulators - even if that means to endure tearing. It is just too much of a stretch for them that one could keep vsync yet not suffer lag.
Also some have only ever known RetroArch with run_ahead - despite Groovy being way older - and they don't understand the difference between the two, and try to set Groovy like they would RA (which of course doesn't work and is even counter-productive lol)
GroovyMAME has earned itself a reputation of being obscure and esoteric, which is not deserved...or rather not anymore since Calamity has added the sliders.
But I guess for many it happened too late, the greater popularity it should logically have achieved after becoming more accessible never came because of how things changed, old retrogaming communities heavy users of emulators kinda declined in activity, and anyway remaining enthusiast players went to RA or whatever pre-configured or hacked builds disregarding the questionable results or issues.
More bad timing made it that at the same time GM was leaping forward in ease of use and accessibility, the up-to-date MAME rom sets became nearly invisible and inaccessible to most, which made keeping up with development and releases a PITA for many.
Aside from that there's also been quite a number of console ports with many more than decent, and the MisTer thing of course which I find kind of overkill in cost and limited in output for processing power reasons, sometimes not bringing in much benefit vs. GM, but that has kind of re-ignited development enthusiasm so I guess = progress is always good anyway.