Microsoft is previewing a new Windows developer feature called EcoQoS for reducing power consumption, as well as adding Eco Mode to Task Manager.
As such, Microsoft has requested developers use an API, where appropriate, that asks Windows to trade performance for efficiency. According to program manager Raymond Li, the new Quality of Service (QoS) level means "higher clock speeds provide higher performance but with exponentially higher power consumption."
Essentially, an application can achieve the same work more efficiently by running slower. The API requires knowledge of the hardware and initial tuning will support Intel 10th and 11th generation mobile processors, AMD Ryzen 5000 mobile processors, and Qualcomm processors. Li said that support for desktop PCs will come later.
Developers can opt into EcoQos per process (such as for a complete application) or per thread, using the API calls SetProcessInformation and SetThreadInformation. These API calls are not new, and although Li did not spell this out in the post, it looks as if EcoQoS is more about improving the implementation of ProcessPowerThrottling. Suggested use cases include background services, sync engines, indexers and update services.
Li has also posted about Task Manager Eco Mode, which will be a right-click option in the Processes view, in the Windows utility for managing running applications and background processes.
Task Manager already has an option for Set Priority, which determines how CPU time is allocated, but this does not change the speed at which the CPU runs.
CPU power consumption
Another relevant existing setting is Power Throttling, which determines whether the process invokes CPU power management features (such as Intel's SpeedStep and SpeedShift) to reduce power consumption. Power Throttling is generally disabled when a PC is plugged into mains. In the past, the main focus of attention for reducing PC power consumption has been prolonging battery life, but in the context of climate change, power consumption irrespective of the power source is key.
Over on the Windows Insider blog, Microsoft's principal program manager Amanda Langowski and senior program manager Brandon LeBlanc said that Eco Mode will be handy to tame applications that are grabbing too many resources. This does seem to confuse the idea of power saving with that of priority though. Possibly it can do double-duty.
According to Li, EcoQoS provides "up to a 90 per cent reduction in CPU power consumption" and consumes "less than half the CPU energy to complete the same work." Other benefits are reduced heat and fan noise, and better performance from concurrent workloads.
EcoQos and Task Manager Eco Mode are enabled in Insider build 21364 of Windows 10, though Langowski and Leblanc said that "this feature is rolling out to a subset of Insiders in the Dev Channel at first" and we were not one of the lucky ones to find Eco Mode in our install.
The feature does, however, raise some questions. Microsoft is hyping EcoQos as part of green initiatives including one called Sustainable Software and another called Carbon Negative by 2030. To achieve such goals though, Eco Mode will have to apply to more than just background processes like indexers and updaters.
Microsoft's Green Cloud Advocacy lead Asim Hussain has kicked off a personal project called Green Software Engineering that lays out a set of principles for building energy-efficient applications, while software engineer Sara Bergman has posted about measuring the power consumption of mobile applications.
Such initiatives seem worthy: but how many product teams at Microsoft will be willing to sacrifice cool features for the sake of power-efficiency, or mark applications for EcoQos at the expense of user experience? The company will also need to make progress on ARM64 computing to achieve a more power-efficient Windows. ®