Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Menu throttles when i load a game #15882

Closed
Tasosgemah opened this issue Nov 8, 2023 · 28 comments
Closed

Menu throttles when i load a game #15882

Tasosgemah opened this issue Nov 8, 2023 · 28 comments

Comments

@Tasosgemah
Copy link

Description

When i open the menu without a game loaded, it runs at 240hz, as it's my monitor's speed. It feels nice and smooth.

When i open any game though and then go to the menu, it runs at 60hz. Feels awful by comparison.

Expected behavior

Menu should always be smooth. I know the throttle menu option is removed, but it still exists in the config and it's OFF.

Actual behavior

In previous versions the menu was always silky smooth for me. Now it feels laggy when i have a game loaded. Hope it's not the intended behavior because It feels like a big regression for anyone with high refresh rate screens.

@Tasosgemah
Copy link
Author

I fooled around a bit and noticed that the "Estimated Refresh Rate" in the Output options is now much lower than before.

It's now close to 60hz while in the previous version from a week ago (before the change) this number would reach close to 240hz. Basically, it seems like the newer version completely ignores the high-refresh rate monitor and just set itself at 60hz, even if i change other options like freesync ON?OFF, etc.

But this happens only when i load a game. Just opening RetroArch without anything loaded works like before.

@sonninnos
Copy link
Collaborator

The menu is now throttled according to the running core. So yes makes sense that the rate estimation is also not accurate when a core is running, and it shouldn't even be needed then.

And config rows are never removed if options are removed, so you need to do that manually. The config value simply does nothing anymore.

I'll try to change the frame limiting according to the set vertical refresh rate instead of core refresh rate, and if that won't work well enough, I'll simply disable the current frame limiting if vsync is enabled.

@Tasosgemah
Copy link
Author

Thanks. If you don't have a high refresh rate monitor I can test any related change and give any information you need

@KamiLordus
Copy link

KamiLordus commented Nov 8, 2023

From my observations, I need to have 120 Hz enabled on the monitor (although RA menus and games run at 60 Hz). Otherwise, black frame insertion does not work, and without it, many games have a terrible ghost effect (for example, Golden Ax III Sega Genesis, or many vertical shooters on Mame).

@sonninnos
Copy link
Collaborator

Indeed I don't have a high refresh rate display, so please let me know how it goes now.

@Tasosgemah
Copy link
Author

Indeed I don't have a high refresh rate display, so please let me know how it goes now.

Ok, do i have to download a version from somewhere else? Because i only ever update via buildbot

@sonninnos
Copy link
Collaborator

Well not yet if you can't build it yourself, since it isn't merged yet.

@crashGG
Copy link

crashGG commented Nov 10, 2023

Isn't the advantage of using a high refresh rate monitor to play libretro that its variable refresh rate can perfectly match the weird refresh rates of old arcade and home consoles in exchange for the lowest output latency? Why give up this advantage and choose to use a high refresh rate?

@Tasosgemah
Copy link
Author

Isn't the advantage of using a high refresh rate monitor to play libretro that its variable refresh rate can perfectly match the weird refresh rates of old arcade and home consoles in exchange for the lowest output latency? Why give up this advantage and choose to use a high refresh rate?

I didn't have an issue playing those odd hz arcade games smoothly while also having a smooth interface at the same time. I assume the game itself and the menu are two different things. One can run at a different frame rate than the other and the transition was also smooth. That's the advantage of VRR.

With this recent change, the game is still smooth as before but the menu is slower. Feels more laggy. So there wasn't any gain, only a regression.

@sonninnos
Copy link
Collaborator

With this recent change, the game is still smooth as before but the menu is slower. Feels more laggy. So there wasn't any gain, only a regression.

Weird, let's adjust it a bit then.

@Tasosgemah
Copy link
Author

Was there a reason why the menu needed to be throttled in the first place? Did it cause problems? It was optional before. I get it's good to have less options in an already options-heavy menu but this particular one made a lot of difference IMO.

@sonninnos
Copy link
Collaborator

Did the option actually do anything before? I added this limiting because with vsync disabled the menu would run at unlimited speed, as in fps in the thousands with certain cores, and the option did nothing to prevent it.

@Tasosgemah
Copy link
Author

Tasosgemah commented Nov 10, 2023

Yes, the option pretty much locks the menu to 60fps or something close to that. I am still using the 31/10 build, the last one before the change. With the limit off, the menu feels like it breaks the chains and feels incredibly smooth, as it should on a 240hz screen. The moment i turn throttle ON, it feels sluggish. Which is the current behavior of the later builds.

Keep in mind that a game needs to be loaded for this to have an effect. Otherwise the menu is always smooth for me no matter what, even if i turn throttle ON.

Not sure if there are certain cores that don't work this way though. But the ones i use work this way.

@Tasosgemah
Copy link
Author

Also, when i say "sluggish" i mean compared to the 240fps i got used to. Running close to 60fps may feel smooth to someone who uses a 60hz screen.

@sonninnos
Copy link
Collaborator

Ok, and you have had VRR aka exact sync enabled the whole time, as in if you disable it, the removed option starts to do nothing?

@crashGG
Copy link

crashGG commented Nov 10, 2023

IMHO, it's not cost-effective to run to infinite speed in the game menu and consume a lot of computing resources. Maybe some people want to experience a slightly higher frame rate and smoothness in the menu, but more people just don't want the noise caused by the CPU and graphics card fans to affect the gaming experience.If the game menu can also lock 60fps after turning on vrr, it will be a balance between energy efficiency and quiet experience. These players will be grateful.

@Tasosgemah
Copy link
Author

Ok, and you have had VRR aka exact sync enabled the whole time, as in if you disable it, the removed option starts to do nothing?

Correct, i just tested this scenario with the old version.

IMHO, it's not cost-effective to run to infinite speed in the game menu and consume a lot of computing resources. Maybe some people want to experience a slightly higher frame rate and smoothness in the menu, but more people just don't want the noise caused by the CPU and graphics card fans to affect the gaming experience.If the game menu can also lock 60fps after turning on vrr, it will be a balance between energy efficiency and quiet experience. These players will be grateful.

That's why it was good being an optional thing. I have a mid-range PC, the menu running at 240fps only increased the GPU/CPU usage slightly and i had no issues with fan noise or high temps. So for me, not throttling the menu was fine.

@sonninnos
Copy link
Collaborator

I guess I'll just bring the option back then since I now understand what it is supposed to be doing.

@sonninnos
Copy link
Collaborator

Ok, added the restoration back to the previous PR, and hopefully it still works as it should after I tried to make it easier to read, understand and use.

@Tasosgemah
Copy link
Author

Seems like it's working fine now, like it did before. Will test more today after work.

@Tasosgemah
Copy link
Author

yeah, it's working i have no issues so far. I think the issue can close now.

@Tasosgemah
Copy link
Author

Tasosgemah commented Dec 24, 2023

@sonninnos

I updated to the latest Nightly today and the issue is back. Menu throttles again when i load a game, even when i have the "throttle menu framerate" OFF.

@Tasosgemah Tasosgemah reopened this Dec 24, 2023
@sonninnos
Copy link
Collaborator

Well there hasn't been any changes..

@Tasosgemah
Copy link
Author

Dunno, some unrelated bug maybe causes this for some reason. I'll try to find the last nightly where this was still working as intended. Last good one i use is from Nov 15 atm.

@Tasosgemah
Copy link
Author

Oldest nightly i can find is from 12-Dec. And it still throttles. So the issue appeared somewhere between the 15-Nov and 12-Dec build. Is there anywhere i can download older nightlies?

@sonninnos
Copy link
Collaborator

sonninnos commented Dec 27, 2023

I located the reason. It was due to the circumvention of wasapi exclusive mode repeating the current buffer when in menu while menu pauses and menu sounds are off. Which is generating empty sound while in menu always. I'll have it reverted with some other changes soon.

@sonninnos
Copy link
Collaborator

Please try after this #16057

@Tasosgemah
Copy link
Author

Please try after this #16057

Yeah, it works correctly now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants