Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
02047 Interface Minor Always Jul 26, 2008, 00:34 Jul 26, 2008, 17:24
Tester Mr_Person View Status Public Platform MAME (Self-compiled)
Assigned To Resolution Open OS
Status [?] Confirmed Driver
Version 0.126u2 Fixed in Version Build I686
Fixed in Git Commit Github Pull Request #
Summary 02047: -syncrefresh does not affect speed throttling
Description I was playing around with different refresh rates on my old CRT today and I noticed that -syncrefresh wasn't actually syncing to my monitor's refresh like it's supposed to. There was no tearing, but the speed was never altered, as if it was running with just -waitvsync. Even with rates way too high to be using -syncrefresh with (85Hz+), everything ran at its proper speed.

I experimented a bit and found that it's actually been broken for quite some time; it last worked properly in 0.113, just before the throttling and frameskipping moved to the core.

Example:
MAME 0.113, 60Hz LCD, -syncrefresh enabled, running ddonpach (57.55 Hz) - Perfectly synced video. 104% speed.

Same options on 0.126u2 - Runs at 100% speed.
Steps To Reproduce Start any game with a refresh rate lower than your monitor's with -syncrefresh enabled.
Additional Information
Github Commit
Flags
Regression Version 0.113u1
Affected Sets / Systems
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
5
User avatar
No.01808
etabeta
Developer
Jul 26, 2008, 09:40
edited on: Jul 26, 2008, 09:44
can you check if you have -mt 1 in your mame.ini? it sounds a lot like 01687
User avatar
No.01809
Mr_Person
Tester
Jul 26, 2008, 10:02
Negative, using a separate MAME install for testing with no INIs sitting around.

Getting the same behavior on other computers too, including my old single core laptop.
User avatar
No.01810
Tafoid
Administrator
Jul 26, 2008, 14:21
Hmm.. try shutting of the throttle. My understanding is if you are using the -syncrefresh to govern the speed, -nothrottle must be used to shut of the automatic 100% limiting. I try it on my end on 0.126u2 and I get a 104-105% from MAME on ddonpach. Without -nothrottle, I get 100%.

d:\emulator\arcade\mame>mame ddonpach -syncrefresh -str 20
Average speed: 100.00% (19 seconds)

d:\emulator\arcade\mame>mame ddonpach -syncrefresh -nothrottle -str 20
Average speed: 104.41% (19 seconds)
User avatar
No.01811
Mr_Person
Tester
Jul 26, 2008, 14:39
edited on: Jul 26, 2008, 14:40
Yes, but using the other syncing options produce the same result.

C:\home\emulation\mame>mamepp -triplebuffer -nothrottle -str 20 ddonpach
Average speed: 104.06% (19 seconds)

-syncrefresh used to change the speed the game would be throttled to with the throttle enabled. Is this switch just not useful with the way throttling works now, or am I misunderstanding what it's for?
User avatar
No.01813
Tafoid
Administrator
Jul 26, 2008, 17:24
The throttle will assume 100% regardless of the syncing command (-triplebuffer acts the same throttled (at 100%) and unthrottled (104%+) as -syncrefresh did. I'm not sure, though, if this was expected to change. Aaron would have a better grasp on what is expected behavior now compared to the old video timing routines in 0.113. I'll set acknowledged and allow for more commenting.