Microsoft has detailed its power efficiency work for Metro style apps previously, involving suspending apps to save power, but the company is now revealing exactly how the method works. Metro style apps, available from the Windows Store, will effectively suspend any memory consumption while they are not being used. Apps that play music in the background or send and receive messages will be able to utilize scenario-focused multitasking APIs, but the majority of apps will simply suspend — allowing Windows 8 users to run a large amount of concurrent apps that can resume quickly. The feature is available to test in the Windows 8 Consumer Preview and judging by the video below it appears near-instantaneous on Microsoft's own system, resuming in milliseconds.
Fast resume using hibernation technique
Although the memory in working sets of Metro style apps will still be allocated to the individual app, Microsoft has developed a method to reclaim memory from a suspended Metro style application. If the operating system, or other applications, require additional memory then Windows 8 will simply write the whole (private) working set of a suspended Metro style app to disk to free up memory. The process is similar to the company's hibernation technique, used to suspend Windows itself to disk to avoid power use while offering a faster resume time than the traditional Windows boot. Traditional desktop apps have typically continued to use RAM in the background, rather than suspend their activity when not in full use, leading to a memory-management process known as paging which stores data to disk and then retrieves it if physical RAM is fully used. Microsoft's new Metro style apps will rely on this less thanks to the smart background suspension.
Microsoft says that the resume times for apps will vary, depending on the speed of the disk and size of the app, if the hibernate technique is used on a Metro style app, but that the company is working to optimize the way it writes and reads the data to make it as efficient as possible. "We expect that many apps will take less than a second of I/O to get the working set of a suspended app back into memory," says Microsoft's Bill Karagounis.