Add custom refresh rate mode to VSync option #238

Merged
KeatonTheBot merged 4 commits from refreshinterval into master 2024-11-25 19:39:09 +00:00
KeatonTheBot commented 2024-11-13 22:55:47 +00:00 (Migrated from github.com)

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

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](https://github.com/user-attachments/assets/9722be47-33fe-46ee-af4a-af142d312030) ![image](https://github.com/user-attachments/assets/94dfdc78-1f7d-4664-a490-67e6a24932d9)
github-actions[bot] commented 2024-11-13 23:04:50 +00:00 (Migrated from github.com)
Download the artifacts for this pull request: * [ryujinx-Release-1.2.0+83a30a2-linux_arm64](https://nightly.link/GreemDev/Ryujinx/actions/artifacts/2229150395.zip) * [ryujinx-Release-1.2.0+83a30a2-linux_arm64-AppImage](https://nightly.link/GreemDev/Ryujinx/actions/artifacts/2229150423.zip) * [ryujinx-Release-1.2.0+83a30a2-linux_x64](https://nightly.link/GreemDev/Ryujinx/actions/artifacts/2229151288.zip) * [ryujinx-Release-1.2.0+83a30a2-linux_x64-AppImage](https://nightly.link/GreemDev/Ryujinx/actions/artifacts/2229151346.zip) * [ryujinx-Release-1.2.0+83a30a2-macos_universal](https://nightly.link/GreemDev/Ryujinx/actions/artifacts/2229153517.zip) * [ryujinx-Release-1.2.0+83a30a2-win_x64](https://nightly.link/GreemDev/Ryujinx/actions/artifacts/2229156025.zip) <details><summary>GUI-less</summary> * [nogui-ryujinx-Release-1.2.0+83a30a2-linux_arm64](https://nightly.link/GreemDev/Ryujinx/actions/artifacts/2229150473.zip) * [nogui-ryujinx-Release-1.2.0+83a30a2-linux_x64](https://nightly.link/GreemDev/Ryujinx/actions/artifacts/2229151424.zip) * [nogui-ryujinx-Release-1.2.0+83a30a2-macos_universal](https://nightly.link/GreemDev/Ryujinx/actions/artifacts/2229153596.zip) * [nogui-ryujinx-Release-1.2.0+83a30a2-win_x64](https://nightly.link/GreemDev/Ryujinx/actions/artifacts/2229156098.zip) </details> <details><summary>Only for Developers</summary> * [ryujinx-Debug-1.2.0+83a30a2-linux_arm64](https://nightly.link/GreemDev/Ryujinx/actions/artifacts/2229149425.zip) * [ryujinx-Debug-1.2.0+83a30a2-linux_arm64-AppImage](https://nightly.link/GreemDev/Ryujinx/actions/artifacts/2229149465.zip) * [nogui-ryujinx-Debug-1.2.0+83a30a2-linux_arm64](https://nightly.link/GreemDev/Ryujinx/actions/artifacts/2229149507.zip) * [ryujinx-Debug-1.2.0+83a30a2-linux_x64](https://nightly.link/GreemDev/Ryujinx/actions/artifacts/2229152710.zip) * [ryujinx-Debug-1.2.0+83a30a2-linux_x64-AppImage](https://nightly.link/GreemDev/Ryujinx/actions/artifacts/2229152772.zip) * [nogui-ryujinx-Debug-1.2.0+83a30a2-linux_x64](https://nightly.link/GreemDev/Ryujinx/actions/artifacts/2229152852.zip) * [ryujinx-Debug-1.2.0+83a30a2-macos_universal](https://nightly.link/GreemDev/Ryujinx/actions/artifacts/2229153859.zip) * [nogui-ryujinx-Debug-1.2.0+83a30a2-macos_universal](https://nightly.link/GreemDev/Ryujinx/actions/artifacts/2229153932.zip) * [ryujinx-Debug-1.2.0+83a30a2-win_x64](https://nightly.link/GreemDev/Ryujinx/actions/artifacts/2229157099.zip) * [nogui-ryujinx-Debug-1.2.0+83a30a2-win_x64](https://nightly.link/GreemDev/Ryujinx/actions/artifacts/2229157190.zip) </details>
StevensND commented 2024-11-17 10:13:42 +00:00 (Migrated from github.com)

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.

**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 U**nbounded tag is for Remove the 30FPS limit and uncap your FPS**. That's something I told to you on Discord. ![Sin título](https://github.com/user-attachments/assets/61020a24-3228-4b66-a452-babfbc916cb8) 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](https://github.com/user-attachments/assets/c9e39651-9b59-4a1f-957e-4a949a9f1968) 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 2024-11-17 19:08:50 +00:00 (Migrated from github.com)

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.

> **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 U**nbounded 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 2024-11-17 20:26:41 +00:00 (Migrated from github.com)

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.

> 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 2024-11-20 02:00:46 +00:00 (Migrated from github.com)

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

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
Sign in to join this conversation.
No Reviewers
No Milestone
No project
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MeloNX/Ryujinx-ryubing#238
No description provided.