Un computer utilizza meno risorse quando i programmi sono ridotti al minimo?


93

Quando i programmi sono ridotti a icona in Windows 7, usano meno memoria e CPU rispetto a lasciarli massimizzati?

Risposte:


67

Sì. Secondo il supporto MS, il set di lavoro per un'applicazione ridotta viene ridotto . Puoi verificarlo tu stesso con Process Explorer.

Ecco un test di una singola istanza di Firefox 5.0 in Windows 7 x64 con una singola scheda del sito Web ESPN.com caricata. I valori sono stati letti utilizzando 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

Ecco un test di una singola istanza di Paint.NET in Windows 7 x64 con alcune piccole immagini aperte. Questa app è stata scritta in Microsoft .NET a differenza di Firefox che è quasi certamente 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

7
Wow, questo è interessante e hai un KB per il backup. +1
Supercereal

57
Questo non si applica alle versioni moderne di Windows (7, Vista). Su un sistema operativo moderno, se la memoria è necessaria per qualcosa, il sistema operativo taglierà i gruppi di lavoro residenti di tutti i processi, minimizzati o meno (in base alla recente accesso alle pagine di memoria). E se la memoria non è necessaria per nessun motivo, sarebbe sciocco tagliarla - perché perdere gratuitamente le prestazioni di un'applicazione quando la memoria è abbondante?
David Schwartz,

6
Wow, quindi alle persone non piace una risposta ... Qualcuno ha qualche prova del contrario? Per come la vedo io Kinokijuf in realtà ha delle prove, voi ragazzi dite che non si applica a Windows 7 e Vista ma non offre alcuna fonte ... Ragazzi non lo provate nemmeno: \ working set e memoria allocata sono due cose diverse . Process explorer è l'unico modo per testarlo.
Supercereal

5
Vale la pena notare che la riduzione dell'uso delle risorse di sistema è banale: nell'esempio dato, minimizzando l'applicazione, il set di lavoro viene ridotto solo dell'1,2% circa.
bgvaughan,

5
Nota la mancanza di sviluppatori Win32 in questo thread di commenti. Esistono numerosi eventi Win32 che ignorano le applicazioni ridotte a icona. Anche se non c'è un notevole risparmio di memoria, c'è sicuramente un risparmio nell'uso della CPU.
Surfasb,

27

Sì e no. Utilizzeranno meno risorse sulla GPU - meno necessità di aggiornamenti dello schermo - ma non sulla memoria del sistema principale o sulla CPU.

La dimensione del set di lavoro visualizzata nel Task Manager non è la quantità effettiva di memoria consumata da un'applicazione. È più di un tetto di quanto potrebbe usare in un dato momento.

Se un'altra app richiede memoria allocata al set di lavoro di un processo che non è in uso attivo, questo numero può essere ridotto senza modificare la quantità di memoria che l'app sta effettivamente utilizzando.


Odio davvero le risposte al voto, ma è sbagliato ... Se me lo avessi chiesto 10 minuti fa avrei pensato che avessi ragione.
Supercereal

3
@Lieven la linea offensiva, almeno per me, e perché il downvote è: "Useranno meno risorse sulla tua GPU - meno necessità di aggiornamenti dello schermo - ma non sulla memoria del sistema principale o sulla CPU." La domanda afferma esplicitamente: "usano meno memoria e CPU rispetto a lasciarle massimizzate", la risposta è, almeno secondo MS (e mi fiderò di MS qui da quando l'hanno scritta), sì, usa meno risorse. Non chiede nulla sulla preformance dell'applicazione mentre è ridotto a icona, solo se utilizzerà meno risorse.
Supercereal

14
@Kyle Quell'articolo di KB ha 5 anni. Non si applica ai moderni schemi di gestione della memoria. (E se vedi il mio commento alla risposta di kinokijuf, vedrai perché è stata una cattiva idea in primo luogo - tranne che sui sistemi operativi che non sono in grado di tracciare la recency dell'utilizzo della pagina.)
David Schwartz

1
Le note a piè di pagina affermano che si tratta di mele per NT4, 2000 e XP. Dubito che da allora sia cambiato qualcosa.
Kinokijuf,

4
E posso confermare sulla mia macchina Vista (con Process Explorer) che il set di lavoro continua a cadere.
Kinokijuf,

12

"Working Set" NON è uguale a "Uso della memoria"

Se un programma ha bisogno di un pezzo di memoria, ne avrà sempre bisogno. In caso contrario, non lo è. Ridurre al minimo il programma non rende improvvisamente il programma "non richiede" memoria. "Ritagliare" il set di lavoro è semplicemente eseguire il paging della memoria dalla memoria fisica sul disco o semplicemente rimuovere la pagina se è disponibile altrove sul disco. (In quest'ultimo caso, il sistema operativo lo fa comunque se c'è carenza di memoria, quindi è solo un problema di memorizzazione nella cache, non un problema di "utilizzo".) In entrambi i casi, non riduce ciò che il programma utilizza; trasferisce semplicemente i dati altrove.

Detto questo, per quanto riguarda l'utilizzo della CPU: esiste una cosa chiamata boost prioritario fornita dal sistema operativo in determinate condizioni, che può effettivamente far sì che un'applicazione in primo piano utilizzi più CPU. Vedi qui per i dettagli.


4

Dipende molto dall'applicazione di cui stai parlando e dal modo in cui l'applicazione è codificata; tuttavia, per fare un confronto, supponiamo che il programma sia codificato in modo tale da eseguire le stesse funzioni quando ingrandito e ridotto a icona.

Ci aspetteremmo quindi che il programma utilizzi la stessa quantità di CPU quando viene ridotto a icona se le stesse funzioni sottostanti vengono chiamate dall'applicazione.

Tuttavia, i tuoi processi di sistema useranno sicuramente meno CPU quando i programmi sono ridotti al minimo in quanto ci saranno meno grafica da rendere per la visualizzazione dell'applicazione, probabilmente ora solo un'icona nella barra delle applicazioni.

Ciò a meno che, quando si minimizza l'applicazione, si fa in modo che un'applicazione più grafica venga visualizzata e quindi visualizzata, pertanto il carico della CPU potrebbe aumentare a causa del carico di lavoro grafico aggiuntivo.

Tutto sommato i cambiamenti di cui stiamo parlando qui saranno probabilmente trascurabili a meno che tu non sia su una macchina con specifiche molto basse.


-1, per irrilevanza. Per qualsiasi confronto hai sempre dovuto assumere Ceteris paribus
Lie Ryan,

2
Non avevo capito che assumere fosse una cosa negativa quando chiarito e coprendo entrambe le possibilità.
iTom il

alcune ipotesi sono irrilevanti, quindi inutili, anche se chiarite. Se il programma è scritto in modo tale da ridurre al minimo il programma, ciò renderebbe ovviamente il computer meno risorse; tale presupposto è totalmente inutile per la discussione.
Lie Ryan,

1

Raramente. Per un programma interattivo che riconosce quando è ridotto a icona, sì utilizzerà meno potenza della CPU. Per programmi come Microsoft Word, non ci sarà una riduzione nell'uso della CPU.

Per le applicazioni a uso intensivo di grafica (ad es. World of Warcraft o Call of Duty 3) ci sarebbe una riduzione significativa nell'uso della GPU (Graphics Processing Unit).


Un programma interattivo non deve "riconoscere quando è ridotto a icona" per utilizzare meno CPU a causa della semplice mancanza di messaggi sulla finestra tastiera / mouse a cui rispondere.
Casuale 832

@ Random832 Non sono sicuro di cosa intendi del tutto, tuttavia intendevo trasmettere il tipo di programma (come un gioco) che si interrompe quando perde la messa a fuoco. Questi giochi usano generalmente meno potenza della CPU quando minimizzati.
wizlog,


0

Sebbene non sia disponibile in Windows 7 per quanto ne so, in Windows 8, i programmi ridotti a icona sono sospesi.


Questo vale anche per i programmi classici? È necessario per la metropolitana poiché in realtà non è possibile chiudere il software
Journeyman Geek

Sì, almeno questo è quello che ho visto nella beta. (l'esempio usato era Internet Explorer, la versione non metropolitana)
soandos

meglio aspettare fino al rilascio di Win8 piuttosto che speculare su ciò che può o non può portare avanti dai beta molto precoci.
Jeff Atwood,

Beh, la parte di sospensione per le app della metropolitana non può andare via, quindi sarei relativamente fiducioso che il resto del sistema di sospensione rimanga in posizione. Fa anche parte dell'attuale sistema win7, sebbene non sia automatico.
soandos,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.