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: SyncRefresh, Dual-Monitor Speed/Audio fluctation issues.  (Read 1294 times)

0 Members and 1 Guest are viewing this topic.

cormierv

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 1
  • Last login:November 10, 2021, 07:56:24 pm
  • I want to build my own arcade controls!
SyncRefresh, Dual-Monitor Speed/Audio fluctation issues.
« on: June 14, 2020, 05:17:51 pm »
Let me first thank Calamity for his incredible work on GroovyMAME, crt_emudriver, etc; forever grateful for this amazing software and it's stellar results.

I've been using GroovyMAME successfully for years, but I've had a particular issue that I've never quite been able to sort myself:

I run a multi-display setup of 2 LCDs and a multi-sync CRT. In this setup, when running GroovyMAME, I disable one of the LCDs and have a single LCD and the CRT enabled. I have GroovyMAME setup to correctly display gameplay on the CRT and MAME Artwork (single-image Flyers) on the second portrait-oriented LCD (1080x1920). So far, so good; SwitchRes selects and displays modes correctly on the CRT, LCD properly displays the artwork. Latest crt_emudriver, GroovyMAME x64 d3d9ex build, Windows 10, i7-4790k w/R9 380x.

The issue is that enabling autosync/syncrefresh, whenever multiple displays are present, causes regular, repeating and predictable audio pitch/game speed drops every 1-2 seconds. If the FPS display is pulled up you can see it running at 101% and then, again, at regular spaced intervals dips down to 95% for a fraction of a second and then back to 101%. Same behavior with/without FrameDelay. Running with -nosyncrefresh alleviates this issue, but obv. introduces tearing etc.

Same issue present both with the LCD running off the same R9 380x GPU as the CRT, and with the LCD running off the Intel iGPU output (HDMI in both cases). Switching the refresh rate of the LCD between 50/59/60hz refresh rates (via Windows) does not alleviate the issue, nor does adjusting the -sync_refresh_tolerance setting to smaller 0.1/0.001/0.0001 values.

If I disable the LCD in Windows, run GroovyMAME with "-numscreens 1", issue is gone, everything works flawlessly, at any given frame_delay value.

I am running on the assumption this is caused by a mismatch in refresh rate between the CRT and the LCD? Perhaps I am misguided, or overlooking something more obvious.

I've attached logs of 3 Count Bout running in dual-monitor config with the described issue, and a log of the same game running in single-display config correctly.

Any help would be much appreciated.