Когда программы свертываются в Windows 7, используют ли они меньше памяти и ЦП, чем оставляют их развернутыми?
7 ответов
Да. Согласно MS Support, рабочий набор для свернутого приложения обрезается. Вы можете проверить это самостоятельно с помощью Process Explorer.
Вот тест одного экземпляра Firefox 5.0 в Windows 7 x64 с одной загруженной вкладкой сайта ESPN.com. Значения были прочитаны с помощью диспетчера задач.
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
Вот тест одного экземпляра Paint.NET в Windows 7 x64 с несколькими открытыми небольшими изображениями. Это приложение было написано на Microsoft .NET в отличие от Firefox, который почти наверняка является 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
И да и нет. Они будут использовать меньше ресурсов на вашем графическом процессоре - меньше потребуется для обновления экрана - но не на вашей основной системной памяти или процессоре.
Размер рабочего набора, отображаемый в диспетчере задач, не является фактическим объемом памяти, потребляемой приложением. Это больше потолок того, сколько он может использовать в данный момент времени.
Если другое приложение запрашивает память, выделенную рабочему набору одного процесса, который не используется активно, это число может быть уменьшено без изменения объема памяти, который фактически использует приложение.
"Рабочий набор" НЕ совпадает с "Использование памяти"
Если программе нужен кусок памяти, она всегда будет нужна. Если это не так, то это не так. Минимизация программы не приводит к тому, что программа "не требует" памяти. "Обрезка" рабочего набора - это просто выгрузка памяти из физической памяти на диск или просто удаление страницы, если она доступна в другом месте на диске. (В последнем случае ОС делает это в любом случае, если есть нехватка памяти, так что это просто проблема кеширования, а не проблема "использования".) В любом случае это не уменьшает то, что использует программа; он просто перемещает данные в другое место.
Тем не менее, в отношении использования ЦП: существует нечто, называемое повышением приоритета, которое ОС дает в определенных условиях, что может привести к тому, что приложение на переднем плане будет использовать больше ЦП. Смотрите здесь для деталей.
Это действительно зависит от приложения, о котором вы говорите, и от того, как приложение закодировано; однако для сравнения скажем, что программа закодирована таким образом, что она будет выполнять те же функции при максимизации и минимизации.
Поэтому мы ожидаем, что программа будет использовать тот же объем ЦП при сворачивании, если приложение вызывает те же базовые функции.
Тем не менее, ваши системные процессы, безусловно, будут использовать меньше ресурсов ЦП, когда программы свернуты, так как для просмотра приложений будет отображаться меньше графики, вероятно, теперь просто значок в системном трее.
То есть, если после минимизации приложения вы не заставите более графическое приложение отображаться и, следовательно, визуализироваться вместо этого, теперь загрузка ЦП может увеличиться из-за дополнительной графической рабочей нагрузки.
В целом, изменения, о которых мы здесь говорим, вероятно, будут незначительными, если только вы не работаете на машине с очень низкими характеристиками.
Я бы сказал, что он использует меньше ресурсов, потому что не обновляет свое окно.
http://msdn.microsoft.com/en-us/library/dd145193(v=VS.85).aspx
Редко. Для интерактивной программы, которая распознает, когда она свернута, да, она будет использовать меньше ресурсов процессора. Для таких программ, как Microsoft Word, загрузка ЦП не снизится.
Для графически интенсивных приложений (напр. World of Warcraft или Call of Duty 3) значительно снизится использование GPU (Graphics Processing Unit).
Хотя это не доступно в Windows 7, насколько мне известно, в Windows 8, свернутые программы приостановлены.