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: Getting better performance out of GM than mainstream?  (Read 1769 times)

0 Members and 1 Guest are viewing this topic.

Trnzaddict

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 177
  • Last login:May 03, 2024, 03:03:59 pm
Getting better performance out of GM than mainstream?
« on: March 01, 2020, 12:57:34 pm »
Since MAME dev added Calamity's low latency patch I started moving away from GM as there didn't seem to be anymore reason to use it as a Gsync LCD user and to Arcade64. Alas I think I'm back tho...

So while performing some cab maintenance I noticed the San Francisco Rush games speed was jumping all over the place from 80% to 108%, then steady at 100% for a bit then drop, spike, etc. Started tesing other games from the Seattle driver, same thing. These are my favorite racing games to play So I overclocked my i7 8700k to 5.1 GHZ. No difference whatsoever. Frustrated now as I remember these games running perfect for me previously I took to ask the devs in the forums and basically was told that my processor was just not cutting it and this driver needs as much raw cpu power as it can handle. However running the games un throttled speed is up to 280% and never drops below 130%. So this seemed like a syncing issue. I asked them how my CPU can be the issue if it runs these games well over 100% unthrottled but can't throttled and got no response. So I tried baseline MAME, fiddled with every performance setting but nothing made a difference except using portaudio but the performance drops were still occurring but the sound skips were not as noticeable so I settled on that. So this issue was present even in straight baseline.

So for giggles I downloaded GM218. Games are fine. Imported all my settings being used for Arcade 64 (HLSL, etc.) and used them with GM, buttery smooth performance on Seattle.cpp. Finally I removed my overclock as I don't like OC'ing if I don't have to and this was the first situation I felt it was necessary, games run fine. Granted unthrottled they don't run as high but I don't care. I knew it was not my processor.

So my question is if someone feels like answering is why is this happening?
« Last Edit: March 01, 2020, 01:00:16 pm by Trnzaddict »

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
Re: Getting better performance out of GM than mainstream?
« Reply #1 on: March 01, 2020, 03:13:55 pm »
I gather you're using the -lowlatency option.

Baseline uses a clock named std::high_resolution_clock. GM uses std::steady_clock instead. My understanding is hrc is buggy and the cause of the issue you're seeing. Usually the buggy implementation is masked by the normal throttling mechanism but when the more demanding -lowlatency throttling is used you need an accurate clock, otherwise you get these timing issues. GM uses the steady clock since long for this reason.

When I have some time I'll try to get the proper evidence for this and report it to MAMEdev.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

Trnzaddict

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 177
  • Last login:May 03, 2024, 03:03:59 pm
Re: Getting better performance out of GM than mainstream?
« Reply #2 on: March 01, 2020, 06:24:09 pm »
I gather you're using the -lowlatency option.

Baseline uses a clock named std::high_resolution_clock. GM uses std::steady_clock instead. My understanding is hrc is buggy and the cause of the issue you're seeing. Usually the buggy implementation is masked by the normal throttling mechanism but when the more demanding -lowlatency throttling is used you need an accurate clock, otherwise you get these timing issues. GM uses the steady clock since long for this reason.

When I have some time I'll try to get the proper evidence for this and report it to MAMEdev.

Hi Calamity - Yes I was using low latency but I forgot to mention that this issue occurs on baseline even with low latency disabled. So looks like the clock you speak of in general GM uses is better than baseline. Well for me anyway. So I guess it’s back to GM.