- New option -[no]syncaudio: Make audio synchronization (resampling) optional. Default is enabled. Disable to avoid sound wobble with erratic emulation speeds (like that caused by frame delay on some systems).
This is really useful.
I wasn't under the impression that I was experiencing that specific problem too often before, but I actually do now, and that option works well.
Are there any drawbacks to having it ON all the time? (combined with w/ Portaudio also)
- New option -[no]autostretch: Make auto stretching feature optional. Default is enabled, so GM will apply the scaling mode (fractional or integer) that best fits the situation.
Convenient! but are you sure you want this ON by default? I can already picture the long line of users complaining their output has strange borders or portions cut.
Integer is great and has its diehards, but I think it's a minority, most users have no idea what it is and wouldn't want it on anyway.
- New option -[no]autofilter: Make auto filter optional. Default is enabled, so GM will apply bilinear filtering when fractional scaling or an interlaced mode are used.
Not sure how this works but is it bypassing 'filter' and 'prescale' when it's on ? (@ OSD ACCELERATED VIDEO OPTIONS)
I always use prescale for a sharper smoothing, but for some reason that didn't seem to work together.
However, turning 'autofilter' OFF fixed it and allowed me for the first time to control 'filter' and 'prescale' for all games directly from the mame.ini without needing specifics like vertical.ini and horizont.ini.
So maybe that wasn't the intent of this new setting, but it fixes an ages-old MAME annoyance!
Note: dunno if it's a good idea to leave it ON by default, although yeah filtered is the MAME's default so that would be understandable.
- [Windows] Implement asynchronous rendering through native D3D9ex api (replace for old multithreaded -triplebuffer). This mode is selected automatically by -autosync. You can force it manually with -waitvsync -nosyncrefresh.
Congratulation for finding a working replacement! it is however visibly less smooth than the old triplebuffer, trading what was tolerable micro-stutter for brutal hiccups.
I don't know if there's a way to make that smoother but as it is for actually playing games like Raiden DX of Xexex at normal speeds on a non-flexible Hz setup I'd still recommend 0.227, sorry I can't sugar-coat it.
PS: Just another recommendation to add, on that topic if you don't want users to see asynchronous too much you should really begin to consider pushing the default sync_refresh_tolerance to 3, so that games get syncrefreshed to 105% max. iirc that covers down to 57Hz games like the Midway seattle.
IF however someone has his desktop set to '59Hz' mode (lots of ppl don't suspect they do) then that'd bring the limit too far down, in which case to avoid 'accidents' a default value like 2.771 is safer, still covering down to Sega system18 even when desktop is really @60.
(I think it's precisely 2.770001 but heh)
Further: still on the topic of non-flexible setups: a 'trick' for users that have a desktop set to proper 60 but want to use 59 to get the (placebo) impression that they're 1Hz closer to the proper speed, is for them to activate 'allow_hw_refresh', which acts as an auto-switch for calling the 59Hz mode, and so with it they can see the F11 speed meter say 100% instead of 101% when playing PGM games, or 103% instead of 104% on Cave hardware games, etc.
Yeah it's mostly useless but for those who like to see that 1% difference, it at the very least cuts the tedium of having to switch manually from graphics control panel or windows. If it's the only other mode they can switch to, they can at least make it auto.WARNING:
you may not want to try that if you are using the current AMD Software, as this will set your default desktop mode to 59.94Hz, and today AMD don't provide direct desktop resolution controls, instead delegating to Windows, which - as you can guess - is actually too dumb to do the job properly...and so your desktop will be stuck @59.94Hz. So far I haven't found a way to bring back 60Hz.EDIT: fixed! you can use VMMaker to wipe out that mode, read next page where Calamity explains.
Last-but-not-least: 'allow_hw_refresh' with a lcd_range set to 50-75 (tho 53-62 would do just fine) works well with my ViewSonic VX3211-mh and Belinea 2080 S2, using the latest AMD drivers on Vega 56.
Had a bizarre behaviour or two, like Xexex runnning 200% until I activated frame_delay, and apparently it's not able to force 60+ or so modes on the Belinea, but I don't remember if that one actually does support over-60 modes with Emudrivers or not, I'd have to check again with a different setup later. Or maybe it's because modern drivers don't come with native 1600x1200 modes but instead timings adapted from 1920x1200.