GreemDev / Ryujinx

Experimental Switch emulator written in C#
MIT License
5.3k stars 425 forks source link

Add custom refresh rate mode to VSync option #238

Closed KeatonTheBot closed 1 day ago

KeatonTheBot commented 1 week ago

Rebased @jcm93's refreshinterval branch: https://github.com/jcm93/Ryujinx/tree/refreshinterval

The option is placed under System/Hacks. Disabled, it's the default Ryujinx behavior. Enabled, the behavior is shown in the attached screenshots. If a framerate is too high or low, you can adjust the value where you normally toggle VSync on and off. It will also cycle through the default on/off toggles.

Also, in order to reduce clutter, I made an adjustment to remove the target FPS and only show the percentage.

image

image

github-actions[bot] commented 1 week ago

Download the artifacts for this pull request:

StevensND commented 1 week ago

Vsync options should be renamed IMO

Switch + Unbounded tags are confusing for new users and should be replaced for something like: ON and OFF or Enabled/Disabled. New users won't know that by default Switch tag is for 30FPS and Unbounded tag is for Remove the 30FPS limit and uncap your FPS. That's something I told to you on Discord.

Sin título

After that, when changing the % IRL using the UI's slider, the text "The custom refresh rate, as a percentage of the normal Switch refresh rate" is displayed all time time so I can't know what % I'm using IRL without having to do a click on other site, check the FPS and then check the % again. I think that the text should be hide.

Sin título2

Finally, IMO a Type % + Enter option should be added so people can type 200 %, press Enter and set it instead of using the slider all the time so at the end you can use both options: the slider and the Type % + Enter option.

KeatonTheBot commented 1 week ago

Vsync options should be renamed IMO

Switch + Unbounded tags are confusing for new users and should be replaced for something like: ON and OFF or Enabled/Disabled. New users won't know that by default Switch tag is for 30FPS and Unbounded tag is for Remove the 30FPS limit and uncap your FPS. That's something I told to you on Discord.

Yeah, you're right.

After that, when changing the % IRL using the UI's slider, the text "The custom refresh rate, as a percentage of the normal Switch refresh rate" is displayed all time time so I can't know what % I'm using IRL without having to do a click on other site, check the FPS and then check the % again. I think that the text should be hide.

Good call.

Finally, IMO a Type % + Enter option should be added so people can type 200 %, press Enter and set it instead of using the slider all the time so at the end you can use both options: the slider and the Type % + Enter option.

I was trying to save space when getting rid of the text box, but making it a percentage makes more sense.

I also need to rework how the setting is saved in the config file. It's still using the FPS amount.

StevensND commented 1 week ago

I was trying to save space when getting rid of the text box, but making it a percentage makes more sense.

The Type % + Enter it's more faster and more accurate IMO and maybe could be more clean (I mean type a number only, not the number + the % symbol. Ex: Type 150 and Press Enter. The UI should set and show 150 %). Sometimes you want to set 200 % and you end up setting 199% instead using the slider and the only fix it's the arrow keys.

I haven't tried it too much. I was trying to find the offset that controlled the FPS in a random game.

gbqgbq commented 6 days ago

This feature is very useful because some games are better at 60 FPS, and the YUZU emulator can make this feature so that players can run the game at their best, and I recommend incorporating this feature into the Canary version for testing first

This is MTL Microsoft Translator