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

Add 'Frame Rest' power saving option #15834

Merged
merged 1 commit into from
Oct 26, 2023

Conversation

sonninnos
Copy link
Collaborator

Description

Experimental sleep feature aiming to lower CPU usage and temperature when using certain CPU hungry vsync modes. Specifically aimed for third party scanline sync, but since it seems to also work well enough with gl vsync, I decided to allow it to happen also while in menu and when internal vsync is enabled. Default is disabled of course.

The maximum sleep amount limit is half frame time, since going over that does not seem worth it. Many cores handle that easily with current hardware. There is no point using it with vulkan and other drivers with settings that won't drain the CPU.

I've been using and honing it for a month or so with decent results. In practice it lowers CPU temperature at best around 10c on average on my machine. No idea how well retro_sleep() behaves with other platforms than Windows.

Option added to both "Frame Throttle" and "Power Management" menus. Also cleaned some tabs.

@LibretroAdmin LibretroAdmin merged commit da59b8c into libretro:master Oct 26, 2023
22 checks passed
@sonninnos sonninnos deleted the runloop-sleep branch October 26, 2023 12:42
JoeOsborn pushed a commit to JoeOsborn/RetroArch that referenced this pull request Nov 2, 2023
Sunderland93 pushed a commit to Sunderland93/RetroArch that referenced this pull request Dec 26, 2024
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

Successfully merging this pull request may close these issues.

2 participants