Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: MAME .200 micro-stuttering that drives me slightly mad!  (Read 1972 times)

0 Members and 1 Guest are viewing this topic.

dekar24k

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 378
  • Last login:April 28, 2019, 03:50:11 pm
    • ArcadeForum.com
MAME .200 micro-stuttering that drives me slightly mad!
« on: April 21, 2019, 02:48:19 pm »
So I am currently working on a new project, a 2P cabinet for my kids and I will be using a 21" 4:3 LCD monitor. It will be PC-based, running on Windows 10 on an i7-2600 with 8GB DDR3 and a Geforce 1060Ti. Should be more than powerful enough for emulating all 80's and 90's games (up to Genesis/SNES and MAME until late 90's).

Anyways, I use a .198 romset and I have tried several versions of MAME (from before .198 to latest .208) and the same error occurs; I get a tiny micro-stutter every 5-6 seconds or so. It is so small that I guess most people wouldn't notice it, but I do for sure.

I have of course enabled waitvsync in mame.ini and I have tried with forcing vsync through Geforce driver to no avail. I still get the same tiny little stutter every few seconds.

Any advice is greatly appreciated. Thank you! :)
Finished project: "The Saloon Arcade" - 2 player upright cabinet

Joystick.net - Retro gaming news and reviews

Haze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1296
  • Last login:October 04, 2023, 08:30:02 am
  • I want to build my own arcade controls!
    • MAME Development Blog
Re: MAME .200 micro-stuttering that drives me slightly mad!
« Reply #1 on: April 23, 2019, 05:51:17 am »
chances are it's either a background task, or more likely because you're using waitvsync to get rid of screen tearing which is generally a bad idea

waitvsync introduces lag, and also is going to cause hiccups when your screen refresh rate doesn't match the game refresh rate.  by forcing away the screen tearing (a side effect of running at the wrong speed) you're just buffering up a tiny bit of incorrect timing over a period of time so that it never updates midscreen, but after a while you'll get a stutter when things jump back inline with the correct timing.  waitvsync, triple buffer etc. are bandaids at best, with their own, often worse, side-effects.

the problem arises because most games don't run at 60hz, and until recently, most LCD monitors are fixed at a given frequency (often usually 60hz) with no fine control.

the only real way around this, without other side effects (eg games running at the incorrect speed or tearing) is to use a monitor that supports variable frequencies (so if you're talking LCD, one of the recent freesync/gsync ones) and turn off waitvsync.

one of the problems with a lot of modern emulation ports is they do change the games to 60hz to avoid this problem which causes them to run at the wrong speed and have sound/video desyncs etc. this appears to bug the hell out of people buying the collections to have an authentic experience, but really it isn't until more recently the tech to do it properly has been more readily available again. (CRTs could do this natively)


« Last Edit: April 23, 2019, 05:56:43 am by Haze »

dekar24k

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 378
  • Last login:April 28, 2019, 03:50:11 pm
    • ArcadeForum.com
Re: MAME .200 micro-stuttering that drives me slightly mad!
« Reply #2 on: April 23, 2019, 06:31:27 am »
Thanks for the reply. You are most definitely correct that it is indeed the sync "catching up". But, I thought that waitvsync/syncrefresh synced the game to 60hz (like other emulators do)? I believe earlier versions of MAME has had this feature as I have used LCDs locked at 60hz in the past without these tiny stutters. I know that e.g. a game that natively runs at 57hz will play a bit too fast @ 60Hz, but I prefer that if the alternative is hick-ups, tearing or scrolling that is not smooth.

Maybe I should try Groovymame instead? I think I read that it can sync all games to a locked refresh rate (e.g. 60hz).

chances are it's either a background task, or more likely because you're using waitvsync to get rid of screen tearing which is generally a bad idea

waitvsync introduces lag, and also is going to cause hiccups when your screen refresh rate doesn't match the game refresh rate.  by forcing away the screen tearing (a side effect of running at the wrong speed) you're just buffering up a tiny bit of incorrect timing over a period of time so that it never updates midscreen, but after a while you'll get a stutter when things jump back inline with the correct timing.  waitvsync, triple buffer etc. are bandaids at best, with their own, often worse, side-effects.

the problem arises because most games don't run at 60hz, and until recently, most LCD monitors are fixed at a given frequency (often usually 60hz) with no fine control.

the only real way around this, without other side effects (eg games running at the incorrect speed or tearing) is to use a monitor that supports variable frequencies (so if you're talking LCD, one of the recent freesync/gsync ones) and turn off waitvsync.

one of the problems with a lot of modern emulation ports is they do change the games to 60hz to avoid this problem which causes them to run at the wrong speed and have sound/video desyncs etc. this appears to bug the hell out of people buying the collections to have an authentic experience, but really it isn't until more recently the tech to do it properly has been more readily available again. (CRTs could do this natively)
Finished project: "The Saloon Arcade" - 2 player upright cabinet

Joystick.net - Retro gaming news and reviews