Czy komputer zużywa mniej zasobów, gdy programy są zminimalizowane?

93

Kiedy programy są minimalizowane w systemie Windows 7, czy zużywają mniej pamięci i procesora niż pozostawiając je zmaksymalizowane?

jao
źródło

Odpowiedzi:

67

Tak. Według MS Support zestaw roboczy dla zminimalizowanej aplikacji jest przycięty . Możesz to sprawdzić samodzielnie za pomocą Process Explorera.

Oto test pojedynczego wystąpienia przeglądarki Firefox 5.0 w systemie Windows 7 x64 z załadowaną pojedynczą kartą witryny ESPN.com. Wartości odczytano za pomocą Menedżera zadań.

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

Oto test pojedynczego wystąpienia Paint.NET w Windows 7 x64 z kilkoma otwartymi małymi obrazkami. Ta aplikacja została napisana w Microsoft .NET w przeciwieństwie do Firefoksa, który prawie na pewno jest 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
kinokijuf
źródło
7
Wow, to jest interesujące i masz KB, aby to zrobić. +1
Supercereal,
57
Nie dotyczy to nowoczesnych wersji systemu Windows (7, Vista). W nowoczesnym systemie operacyjnym, jeśli pamięć jest do czegoś potrzebna, system operacyjny przycina rezydentne zestawy robocze wszystkich procesów, zminimalizowane lub nie (w zależności od tego, jak ostatnio uzyskali dostęp do stron pamięci). A jeśli pamięć z jakiegoś powodu nie jest potrzebna, głupotą byłoby ją przycinać - po co bezinteresownie obniżać wydajność aplikacji, gdy pamięć jest pełna?
David Schwartz
6
Wow, więc ludzie nie lubią odpowiedzi ... Czy ktoś ma coś przeciwnego? Moim zdaniem Kinokijuf ma jakiś dowód, mówicie, że nie dotyczy to Windows 7 i Vista, ale nie oferuje żadnego źródła ... Nawet go nie testujecie: \ zestaw roboczy i przydzielona pamięć to dwie różne rzeczy . Eksplorator procesów jest jedynym sposobem na przetestowanie tego.
Supercereal,
5
Warto zauważyć, że ograniczenie wykorzystania zasobów systemowych jest trywialne: w podanym przykładzie, poprzez zminimalizowanie aplikacji, zestaw roboczy jest zmniejszony tylko o około 1,2%.
bgvaughan,
5
Zwróć uwagę na brak deweloperów Win32 w tym wątku komentarza. Istnieje wiele zdarzeń Win32, które pomijają zminimalizowane aplikacje. Nawet jeśli nie ma zauważalnej oszczędności pamięci, z pewnością oszczędza się użycie procesora.
surfasb
27

Tak i nie. Będą zużywać mniej zasobów na twoim GPU - mniej potrzeby odświeżania ekranu - ale nie na głównej pamięci systemowej lub procesorze.

Rozmiar zestawu roboczego wyświetlany w menedżerze zadań nie jest faktyczną ilością pamięci zużywanej przez aplikację. Jest to bardziej pułap tego, ile może zużyć w danym momencie.

Jeśli inna aplikacja zażąda pamięci przydzielonej do zestawu roboczego jednego procesu, który nie jest aktywny, liczba ta może zostać zmniejszona bez zmiany ilości pamięci używanej przez aplikację.

Tim Brigham
źródło
Naprawdę nie znoszę odpowiedzi na głosowania, ale to po prostu źle ... Gdybyś zapytał mnie 10 minut temu, pomyślałbym, że masz rację.
Supercereal,
3
@ Obniżyć linię obrażeń, przynajmniej dla mnie, i dlaczego downvote stoi: „Zużyją mniej zasobów na twoim GPU - mniej potrzeby odświeżania ekranu - ale nie na głównej pamięci systemowej lub procesorze”. Pytanie wyraźnie stwierdza: „czy zużywają mniej pamięci i procesora, niż pozostawiają je zmaksymalizowane”, co odpowiada, według przynajmniej stwardnienia rozsianego (i ufam stwardnieniu rozsianemu tutaj, ponieważ to napisali), tak, zużywa mniej zasobów. Nie pyta o wydajność aplikacji, gdy jest zminimalizowany, tylko czy zużyje mniej zasobów.
Supercereal,
14
@Kyle Ten artykuł KB ma 5 lat. Nie dotyczy nowoczesnych schematów zarządzania pamięcią. (A jeśli widzisz mój komentarz do odpowiedzi kinokijuf za zobaczysz dlaczego był to zły pomysł, w pierwszej kolejności - z wyjątkiem systemów operacyjnych, które nie mogą śledzić czas od poprzedniego użytkowania strony.)
David Schwartz
1
Przypisy mówią, że to jabłka dla NT4, 2000 i XP. Wątpię, żeby cokolwiek się zmieniło od tego czasu.
kinokijuf
4
I mogę potwierdzić na moim komputerze z systemem Vista (z Eksploratorem procesów), że zestaw roboczy nadal spada.
kinokijuf
12

„Zestaw roboczy” NIE jest tym samym, co „Wykorzystanie pamięci”

Jeśli program potrzebuje fragmentu pamięci, zawsze będzie go potrzebował. Jeśli nie, to nie. Minimalizacja programu nie powoduje nagle, że program „nie wymaga” pamięci. „Przycinanie” zestawu roboczego polega po prostu na przeniesieniu pamięci z pamięci fizycznej na dysk lub po prostu usunięciu strony, jeśli jest dostępna w innym miejscu na dysku. (W tym drugim przypadku system operacyjny i tak robi to, jeśli brakuje pamięci, więc jest to tylko problem z pamięcią podręczną, a nie problem z użyciem). W obu przypadkach nie zmniejsza to, co program używa; po prostu przenosi dane w inne miejsce.

To powiedziawszy, jeśli chodzi o użycie procesora: w niektórych warunkach system operacyjny nazywa zwiększenie priorytetu , co może spowodować, że aplikacja na pierwszym planie zużyje więcej procesora. Zobacz tutaj, aby uzyskać szczegółowe informacje.

Mehrdad
źródło
4

To zależy od aplikacji, o której mówisz, oraz od sposobu jej kodowania; jednak dla porównania powiedzmy, że program jest zakodowany w taki sposób, że będzie on uruchamiał te same funkcje, gdy jest zmaksymalizowany i minimalizowany.

Oczekujemy zatem, że program będzie używał tej samej ilości procesora, gdy zostanie zminimalizowany, jeśli aplikacja wywoła te same funkcje podstawowe.

Jednak procesy systemowe z pewnością będą zużywać mniej procesora, gdy programy zostaną zminimalizowane, ponieważ będzie mniej renderowania grafiki do przeglądania aplikacji, prawdopodobnie teraz tylko ikona na pasku zadań.

To znaczy, chyba że po zminimalizowaniu aplikacji spowoduje to wyświetlenie aplikacji bardziej graficznej, a zatem renderowanie, teraz obciążenie procesora może wzrosnąć z powodu dodatkowego obciążenia graficznego.

Podsumowując, zmiany, o których tutaj mówimy, będą prawdopodobnie nieistotne, chyba że używasz maszyny o bardzo niskiej specyfikacji.

iTom
źródło
-1, dla nieistotności. Dla wszelkich porównań zawsze musiałeś
Lie Ryan
2
Nie zdawałem sobie sprawy, że założenie było złe, gdy zostało to wyjaśnione i obejmowało obie możliwości.
iTom
niektóre założenia są nieistotne, a zatem bezużyteczne, nawet jeśli zostaną wyjaśnione. Jeśli program jest napisany w taki sposób, że minimalizacja spowodowałaby zakończenie programu, to oczywiście spowodowałoby, że komputer zużywałby znacznie mniej zasobów; założenie to jest całkowicie bezużyteczne w dyskusji.
Lie Ryan,
1

Rzadko. W przypadku programu interaktywnego, który rozpoznaje, kiedy jest zminimalizowany, tak, zużywa mniej mocy procesora. W przypadku programów takich jak Microsoft Word nie zmniejszy się użycie procesora.

W przypadku aplikacji intensywnie korzystających z grafiki (np. World of Warcraft lub Call of Duty 3) znacznie zmniejszyłoby się użycie procesora graficznego.

wizlog
źródło
Interaktywny program nie musi „rozpoznawać, kiedy jest zminimalizowany”, aby zużywać mniej procesora, ponieważ po prostu nie ma żadnych komunikatów okna klawiatury / myszy, na które mógłby odpowiedzieć.
Random832
@ Random832 Nie jestem pewien, co masz na myśli, ale chciałem przekazać rodzaj programu (jak gra), który zatrzymuje się, gdy traci ostrość. Te gry zazwyczaj zużywają mniej mocy procesora po zminimalizowaniu.
wizlog
0

Chociaż nie jest dostępny w systemie Windows 7, zgodnie z moją najlepszą wiedzą, w systemie Windows 8 zminimalizowane programy są zawieszane.

soandos
źródło
Czy to dotyczy również klasycznych programów? Jest to konieczne dla metra, ponieważ nie można tak naprawdę zamknąć oprogramowania
Journeyman Geek
Tak, przynajmniej to widziałem w wersji beta. (użyty przykład to Internet Explorer, wersja nie-metro)
soandos
najlepiej poczekać, aż Win8 zostanie wypuszczony, zamiast spekulować na temat tego, co może, ale nie musi, być kontynuowane od bardzo wczesnych wersji beta.
Jeff Atwood,
Cóż, część zawieszenia dla aplikacji metra nie może odejść, więc byłbym względnie pewny, że reszta systemu zawieszenia pozostanie na swoim miejscu. Jest również częścią obecnego systemu win7, chociaż nie jest automatyczny.
soandos