94

Когда программы свертываются в Windows 7, используют ли они меньше памяти и ЦП, чем оставляют их развернутыми?

7 ответов7

66

Да. Согласно 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
27

И да и нет. Они будут использовать меньше ресурсов на вашем графическом процессоре - меньше потребуется для обновления экрана - но не на вашей основной системной памяти или процессоре.

Размер рабочего набора, отображаемый в диспетчере задач, не является фактическим объемом памяти, потребляемой приложением. Это больше потолок того, сколько он может использовать в данный момент времени.

Если другое приложение запрашивает память, выделенную рабочему набору одного процесса, который не используется активно, это число может быть уменьшено без изменения объема памяти, который фактически использует приложение.

12

"Рабочий набор" НЕ совпадает с "Использование памяти"

Если программе нужен кусок памяти, она всегда будет нужна. Если это не так, то это не так. Минимизация программы не приводит к тому, что программа "не требует" памяти. "Обрезка" рабочего набора - это просто выгрузка памяти из физической памяти на диск или просто удаление страницы, если она доступна в другом месте на диске. (В последнем случае ОС делает это в любом случае, если есть нехватка памяти, так что это просто проблема кеширования, а не проблема "использования".) В любом случае это не уменьшает то, что использует программа; он просто перемещает данные в другое место.

Тем не менее, в отношении использования ЦП: существует нечто, называемое повышением приоритета, которое ОС дает в определенных условиях, что может привести к тому, что приложение на переднем плане будет использовать больше ЦП. Смотрите здесь для деталей.

4

Это действительно зависит от приложения, о котором вы говорите, и от того, как приложение закодировано; однако для сравнения скажем, что программа закодирована таким образом, что она будет выполнять те же функции при максимизации и минимизации.

Поэтому мы ожидаем, что программа будет использовать тот же объем ЦП при сворачивании, если приложение вызывает те же базовые функции.

Тем не менее, ваши системные процессы, безусловно, будут использовать меньше ресурсов ЦП, когда программы свернуты, так как для просмотра приложений будет отображаться меньше графики, вероятно, теперь просто значок в системном трее.

То есть, если после минимизации приложения вы не заставите более графическое приложение отображаться и, следовательно, визуализироваться вместо этого, теперь загрузка ЦП может увеличиться из-за дополнительной графической рабочей нагрузки.

В целом, изменения, о которых мы здесь говорим, вероятно, будут незначительными, если только вы не работаете на машине с очень низкими характеристиками.

1

Я бы сказал, что он использует меньше ресурсов, потому что не обновляет свое окно.

http://msdn.microsoft.com/en-us/library/dd145193(v=VS.85).aspx

1

Редко. Для интерактивной программы, которая распознает, когда она свернута, да, она будет использовать меньше ресурсов процессора. Для таких программ, как Microsoft Word, загрузка ЦП не снизится.

Для графически интенсивных приложений (напр. World of Warcraft или Call of Duty 3) значительно снизится использование GPU (Graphics Processing Unit).

0

Хотя это не доступно в Windows 7, насколько мне известно, в Windows 8, свернутые программы приостановлены.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .