Windows 11 appears to dynamically override the power plan’s Processor Energy Performance Preference (EPP) in response to per-thread/process QoS hints (EcoQoS/Efficiency mode), Game Mode, and heterogeneous scheduling heuristics. Looking for authoritative guidance on auditing and controlling this behavior without disabling modern scheduling.
Context
- OS: Windows 11 (23H2/24H2), all firmware mitigations enabled (VBS/HVCI), hybrid CPUs (Intel P/E-cores or AMD CPPC2).
- Power plan: Balanced, with EPP set explicitly via powercfg to a known value (e.g., 0×32/50).
- Features in play: Efficiency mode (Task Manager), EcoQoS APIs, Game Mode, Modern Standby (S0ix), Hardware Accelerated GPU Scheduling.
Observed behavior
- The configured EPP value for the active scheme (GUID 36687f9e-e3a5-4dbf-b1dc-15eb381c6863) is honored at boot, but the effective per-core EPP fluctuates at runtime when:
- A foreground game is detected (Game Mode on).
- Background processes enter Efficiency mode or use EcoQoS.
- The system transitions in/out of Modern Standby or toggles Energy Saver.
- Adjustments do not persist in the power plan UI and do not change the stored AC/DC EPP indexes, but they affect performance scaling immediately (confirmed via ETW counters and performance limit telemetry).
- On hybrid CPUs, the OS also shifts load between P/E cores in a way that correlates with these EPP changes, complicating reproducible benchmarks.
Repro (one example)
- Set Balanced EPP: powercfg /SETACVALUEINDEX SCHEME_BALANCED SUB_PROCESSOR PERFENERGYPREFERENCE 50; powercfg /S SCHEME_BALANCED.
- Start an app and enable Efficiency mode in Task Manager, then observe:
- ETW providers Microsoft-Windows-Kernel-Processor-Power and Microsoft-Windows-Power indicate policy updates.
- Processor performance/p-state behavior changes despite no visible power plan setting change.
- Toggling Game Mode produces a different effective EPP envelope and thread migration pattern even with the same plan.
Questions
1) Is there a supported mechanism to “lock” effective EPP for the active plan during testing (e.g., a policy switch or documented registry key) that prevents dynamic overrides from EcoQoS/Game Mode, without disabling heterogeneous scheduling or turning off Thread Director/CPPC2?
2) What is the authoritative telemetry path to attribute an effective EPP change to its source?
- ETW providers/events that map a delta to: Game Mode, EcoQoS (SetThreadInformation/ProcessPowerThrottling), Energy Saver, Connected Standby, OEM/ACPI DPTF/PPM policies, or OEM control apps.
- Any specific event IDs or fields that expose old/new EPP and the initiating component.
3) Does Game Mode on Windows 11 adjust only scheduling and GPU policy, or does it also modify HWP/CPPC EPP globally or per-core? If so, is the mapping documented?
4) Can EcoQoS be scoped so it never escalates/lowers global EPP-i.e., strictly a per-thread/per-process hint-via policy or API flags? Conversely, can it be disabled system-wide via Group Policy or MDM while retaining Efficiency mode UI?
5) Do Hyper-V, WSL2, or VBS materially influence EPP and processor performance states in Windows 11, or are any observed shifts purely OS policy above the virtualization layer?
6) For reproducible performance testing, what is the recommended Windows 11 configuration to:
- Fix EPP and min/max processor performance,
- Neutralize Game Mode and EcoQoS effects,
- Maintain hybrid scheduling,
- And verify via ETW or perf counters that the configuration is stable across sleep/resume?
What I’ve tried
- Fixing EPP via powercfg and validating the stored value; effective behavior still shifts.
- Disabling Game Mode; reduces but does not eliminate dynamic policy changes.
- Monitoring ETW: Microsoft-Windows-Kernel-Processor-Power, Microsoft-Windows-PDC, Microsoft-Windows-Power, Microsoft-Windows-ThreadScheduling; can see policy transitions but lack source attribution clarity.
- Confirming that OEM power services are stopped; behavior persists on clean installs.
Looking for documentation or field-proven procedures from those who have instrumented this on Windows 11, including exact ETW event names/IDs, relevant Group Policies/MDM CSPs (if any), and a minimal set of changes to achieve a stable, testable power/perf baseline without disabling hybrid-aware scheduling.