57.5 Hz Patch Officially Merged

Discuss Supermodel and your favorite Model 3 games. Show off your latest threads, this is the place to see and be seen.
Forum rules
Keep it classy!

  • No ROM requests or links.
  • Do not ask to be a play tester.
  • Do not ask about release dates.
  • No drama!

57.5 Hz Patch Officially Merged

Postby Bart » Sun Jun 12, 2022 10:57 am

Hi,

The arbitrary refresh rate patch originally by posted by trap15 here has now made it into the code base. Thanks to PonMi (massaya39) for advocating for this. Here is how it works:

- To enable 57.524 Hz refresh rate, use -true-hz on the command line. Note that this will introduce stutter. Theoretically, variable refresh rate displays should be able to handle it but I'm not sure whether the code as-is will sync with such displays.
- The actual config key is "RefreshRate". Using -true-hz is equivalent to the following in the INI file:

Code: Select all
RefreshRate = 57.524


The default is of course:

Code: Select all
RefreshRate = 60


The value is only precise to the millihertz level: the third digit of precision. Virtually no input validation is performed so be mindful of typos or weird values.

Suggestions welcome.

Thanks,

Bart
User avatar
Bart
Site Admin
 
Posts: 3086
Joined: Thu Sep 01, 2011 2:13 pm
Location: Reno, Nevada

Re: 57.5 Hz Patch Officially Merged

Postby Ian » Sun Jun 12, 2022 3:27 pm

The code looks very similar to a patch I made before. The only difference is I used the chronos c++ time functions instead of sdl. I wrote exactly the same, sleep then spin for the last millisecond. That combination works nicely. The problem I found was disabling vsync and setting fps to 60 on my 60hz screen, the frame rate wasn't smooth, was getting random judder where as with vsync on it was perfect. I don't know if windows blitts all the surfaces to the back buffer to presented at at the same time intervals or if the copy is somewhat arbitrary in time. I suspect the latter.

For freesync/gsync
In the opengl api there is nothing we can control for variable frame rate displays. Just turn on vsync and off you go. It might only work in fullscreen mode though, as otherwise it goes through the windows compositor.
Ian
 
Posts: 2044
Joined: Tue Feb 23, 2016 9:23 am

Re: 57.5 Hz Patch Officially Merged

Postby Bart » Sun Jun 12, 2022 5:25 pm

Eek! Then this may have the same problem. Do you think we should have a secondary pathway for the default 60 Hz case? But it sounds like with vsync enabled, it should behave itself.
User avatar
Bart
Site Admin
 
Posts: 3086
Joined: Thu Sep 01, 2011 2:13 pm
Location: Reno, Nevada

Re: 57.5 Hz Patch Officially Merged

Postby isamu » Tue Jun 14, 2022 3:20 pm

Interesting. I have a question. Does SuperModel support 120fps? I'll be getting a new TV soon that'll be able to do 120Hz . If I run Super Model at this refresh rate, will I see a perceptible difference in smoothness?
isamu
 
Posts: 330
Joined: Sun Sep 25, 2011 4:12 am

Re: 57.5 Hz Patch Officially Merged

Postby Bart » Tue Jun 14, 2022 5:37 pm

isamu wrote:Interesting. I have a question. Does SuperModel support 120fps? I'll be getting a new TV soon that'll be able to do 120Hz . If I run Super Model at this refresh rate, will I see a perceptible difference in smoothness?


Nope. The games are timed to run at 57.524 Hz. When we run at 60, they are running a bit too fast but it's acceptable for most people. If your system is capable of 120 then there would be a way to do that but they'll run twice as fast. You could, I think, run it un-throttled and then set RefreshRate=120.
User avatar
Bart
Site Admin
 
Posts: 3086
Joined: Thu Sep 01, 2011 2:13 pm
Location: Reno, Nevada

Re: 57.5 Hz Patch Officially Merged

Postby Neotommo » Thu Jun 16, 2022 8:27 pm

Bart wrote:
- To enable 57.524 Hz refresh rate, use -true-hz on the command line. Note that this will introduce stutter. Theoretically, variable refresh rate displays should be able to handle it but I'm not sure whether the code as-is will sync with such displays.

Bart



I tried this and the game’s refresh rate does run at 57.524 Hz but as you said the display didn’t change sync to try and match it, it kept at 60Hz

Is there something in Windows I can set to change this or is this a limitation of the emulator code as it stands?
Neotommo
 
Posts: 3
Joined: Tue Jun 14, 2022 4:10 am

Re: 57.5 Hz Patch Officially Merged

Postby Bart » Thu Jun 16, 2022 11:29 pm

Neotommo wrote:
Bart wrote:
- To enable 57.524 Hz refresh rate, use -true-hz on the command line. Note that this will introduce stutter. Theoretically, variable refresh rate displays should be able to handle it but I'm not sure whether the code as-is will sync with such displays.

Bart



I tried this and the game’s refresh rate does run at 57.524 Hz but as you said the display didn’t change sync to try and match it, it kept at 60Hz

Is there something in Windows I can set to change this or is this a limitation of the emulator code as it stands?


I've never used variable refresh rate monitors or things like G-sync so I'm not sure how that would work tbh. Are you using such a monitor? If not, then the display will remain at 60Hz and you'll get stutter.
User avatar
Bart
Site Admin
 
Posts: 3086
Joined: Thu Sep 01, 2011 2:13 pm
Location: Reno, Nevada

Re: 57.5 Hz Patch Officially Merged

Postby Joaquim Gonçalves » Fri Jun 17, 2022 1:54 am

Do i need to add this code as -refreshRate or it still works as ppc-frequency?

Here's my bat update. :P

Silly question: In the Dirt Devils Novice track, the rock sign tell us the rock will get throw over our car or it's a joke? :)
Or only works in the Hard mod by changing in the Test Menu?
Attachments
Supermodel Bat r886.7z
(1.58 KiB) Downloaded 12 times
User avatar
Joaquim Gonçalves
 
Posts: 680
Joined: Wed Dec 10, 2014 5:12 pm
Location: Portugal

Re: 57.5 Hz Patch Officially Merged

Postby Neotommo » Fri Jun 17, 2022 10:20 am

Bart wrote:
- To enable 57.524 Hz refresh rate, use -true-hz on the command line. Note that this will introduce stutter. Theoretically,
I've never used variable refresh rate monitors or things like G-sync so I'm not sure how that would work tbh. Are you using such a monitor? If not, then the display will remain at 60Hz and you'll get stutter.


Yes I noticed the stutter. My setup is LG OLED C1 display, GTX 1660-ti GPU and Windows 7

As far as I know my gfx card can only do VRR through display-port and the C1 display only supports HDMI. But to my knowledge VRR is for changing the refresh rate dynamically while a game is being played, as the frame rate drops the display will adjust to it.

I just need it to change once, which is called fixed refresh-rate mode, which I know the display can do,
Here is an example displaying 1920x1440 at 57Hz (fixed rate)
Image

Usually when a piece of software or hardware changes the resolution or frequency the display tries to sync to it but in this case it remains passive and continues in 60Hz. There might be more options available in Windows 10 so I might try that.
Neotommo
 
Posts: 3
Joined: Tue Jun 14, 2022 4:10 am

Re: 57.5 Hz Patch Officially Merged

Postby Bart » Fri Jun 17, 2022 2:13 pm

If you can set the monitor to exactly 57 Hz, try setting Supermodel to exactly that refresh rate. You can do so by using RefreshRate directly in Supermodel.ini (set it to 57.0). Just as a test. Curious to see whether it stutters still. I'm also curious whether it stutters at the default 60 Hz (I'm kind of bad at perceiving these things), as that may be an issue with the timing method used.
User avatar
Bart
Site Admin
 
Posts: 3086
Joined: Thu Sep 01, 2011 2:13 pm
Location: Reno, Nevada

Next

Return to The Catwalk

Who is online

Users browsing this forum: No registered users and 0 guests

cron