When programs are minimized in Windows 7, do they use less memory and CPU than leaving them maximized?
Yes. According to MS Support, the working set for a minimised application is trimmed. You can check this yourself with Process Explorer.
Here's a test of a single instance of Firefox 5.0 in Windows 7 x64 with a single tab of the ESPN.com website loaded. Values were read using Task Manager.
type not minimised minimised diff ------------------------------------------------------ working set 165,752k 163,768k -1,984k peak working set 169,624k 169,624k N/A mem (private working set) 121,600k 119,576k -2,024k commit size 135,576k 133,504k -72k paged pool 396k 397k +1k np pool 82k 81k -1k handles 504 483 -21 threads 34 31 -3 user objects 40 44 +4 GDI objects 71 75 +4
Here's a test of a single instance of Paint.NET in Windows 7 x64 with a few small images open. This app was written in Microsoft .NET unlike Firefox which is almost certainly C/C++.
type not minimised minimised diff ------------------------------------------------------ working set 125,904k 125,256k -684k peak working set 217,836k 217,836k N/A mem (private working set) 61,844k 61,844k 0k commit size 102,388k 102,384k -4k paged pool 542k 541k -1k np pool 59k 59k 0k handles 741 741 0 threads 19 19 0 user objects 276 273 -3 GDI objects 489 491 +2
Yes and no. They will use less resources on your GPU - less need for screen refreshes - but not on your main system memory or CPU.
The working set size shown in the task manager is not the actual amount of memory consumed by an application. It is more of a ceiling of how much it could use at a given point in time.
If another app requests memory allocated to one process's working set that is not in active use this number can be driven down without changing the amount of memory the app is actually using.
"Working Set" is NOT the same as "Memory Usage"
If a program needs a chunk of memory, it will always need it. If it doesn't, then it doesn't. Minimizing the program doesn't suddenly make the program 'not require' the memory. "Trimming" the working set is simply paging out the memory from physical memory onto the disk, or simply removing the page if it is available elsewhere on the disk. (In the latter case, the OS does it anyway if there is shortage of memory, so it's just a caching issue, not a 'usage' issue.) In either case, it does not reduce what the program uses; it merely relocates the data elsewhere.
That said, regarding CPU usage: there is something called a priority boost given by the OS in certain conditions, which can indeed cause a foreground application to use more CPU. See here for details.
It really depends on the application that you're talking about and the way that the application is coded; however for comparison sake lets say that the program is coded in a way that it will run the same functions when maximized and minimized.
We would therefore expect the program to use the same amount of CPU when minimized if the same underlying functions are being called by the application.
However, your system processes will certainly use less CPU when the programs are minimized as there will be less graphics to be rendered for the application viewing, probably now just a system tray icon.
That is unless upon minimizing the application you cause a more graphical application to be brought into view and therefore rendered instead, now the CPU load could increase due to the extra graphics work load.
All in all the changes we are talking about here are probably going to be negligible unless your on a very low spec machine.
Rarely. For an interactive program that recognizes when it's minimized, yes it will use less CPU power. For programs like Microsoft Word, there won't be a decrease in CPU ussage.
For graphics intensive applications (ex. World of Warcraft or Call of Duty 3) there would be a significant decrease in GPU (Graphics Processing Unit) usage.
I'd say it does use less resources because it does not update its window.