Feature details
Thanks as always for an indispensable tool!
I need my Lenovo ThinkPad laptop to keep encoding when unattended. Formerly that could be done by turning Sleep off in the Power Profile, but recent BIOS updates have removed the S3 state, forcing Modern Standby S0, which puts the machine to sleep whenever the lid is closed or idle is detected no matter the Power Profile settings! No apparent Registry overrides are available. The only apparent work-around is PowerToys Awake with the screen forced ON.
Please consider adding support for keeping the system running during encoding in Modern Standby. The following logic was generated by AI and appears to be correct:
To keep background tasks running when Modern Standby drops the system into low-power states, software developers need to implement one (or both) of the following Win32 Power Management APIs:
PowerSetRequest with PowerRequestExecutionRequired
- Official Documentation: PowerSetRequest function (winbase.h) - Microsoft Learn
- Function: Prevents the operating system from suspending or throttling the process via Desktop Activity Monitor (DAM) while rendering or processing data.
- Implementation: The application creates a handle using PowerCreateRequest, calls PowerSetRequest with the PowerRequestExecutionRequired flag when an encoding job starts, and clears it using PowerClearRequest upon completion.
SetThreadExecutionState with ES_SYSTEM_REQUIRED
Feature details
Thanks as always for an indispensable tool!
I need my Lenovo ThinkPad laptop to keep encoding when unattended. Formerly that could be done by turning Sleep off in the Power Profile, but recent BIOS updates have removed the S3 state, forcing Modern Standby S0, which puts the machine to sleep whenever the lid is closed or idle is detected no matter the Power Profile settings! No apparent Registry overrides are available. The only apparent work-around is PowerToys Awake with the screen forced ON.
Please consider adding support for keeping the system running during encoding in Modern Standby. The following logic was generated by AI and appears to be correct:
To keep background tasks running when Modern Standby drops the system into low-power states, software developers need to implement one (or both) of the following Win32 Power Management APIs:
PowerSetRequest with PowerRequestExecutionRequired
SetThreadExecutionState with ES_SYSTEM_REQUIRED