Un ordinateur utilise-t-il moins de ressources lorsque les programmes sont minimisés?

93

Lorsque les programmes sont minimisés dans Windows 7, utilisent-ils moins de mémoire et de CPU que de les laisser maximisés?

jao
la source

Réponses:

67

Oui. Selon le support Microsoft, le jeu de travail pour une application réduite est ajusté . Vous pouvez le vérifier vous-même avec Process Explorer.

Voici un test d'une seule instance de Firefox 5.0 dans Windows 7 x64 avec un seul onglet du site Web ESPN.com chargé. Les valeurs ont été lues à l'aide du gestionnaire de tâches.

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

Voici un test d’une seule instance de Paint.NET dans Windows 7 x64 avec quelques petites images ouvertes. Cette application a été écrite en Microsoft .NET contrairement à Firefox qui est presque certainement 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
la source
7
Wow, c'est intéressant et vous avez un KB pour le sauvegarder. +1
Supercereal
57
Cela ne s'applique pas aux versions modernes de Windows (7, Vista). Sur un système d'exploitation moderne, si la mémoire est nécessaire à quelque chose, le système d'exploitation découpera les ensembles de travail résidents de tous les processus, qu'ils soient minimisés ou non (en fonction de la date à laquelle ils ont accédé récemment aux pages de la mémoire). Et si la mémoire n'est pas nécessaire pour une raison quelconque, il serait insensé de la réduire - pourquoi abandonner gratuitement les performances d'une application lorsque la mémoire est abondante?
David Schwartz
6
Wow, donc les gens n'aiment pas la réponse ... Quelqu'un at-il une preuve du contraire? D'après ce que je vois, Kinokijuf a des preuves, vous dites que cela ne s'applique pas à Windows 7 et à Vista, mais n'offre aucune source ... Vous ne le testez même pas: \ le jeu de travail et la mémoire allouée sont deux choses différentes . Process Explorer est le seul moyen de tester cela.
Supercereal
5
Il semble utile de noter que la réduction de l'utilisation des ressources système est triviale: dans l'exemple donné, en minimisant l'application, l'ensemble de travail n'est réduit que d'environ 1,2%.
bgvaughan
5
Notez le manque de développeurs Win32 dans ce fil de commentaire. Un certain nombre d'événements Win32 ignorent les applications réduites. Même s'il n'y a pas d'économie de mémoire notable, il y a certes une économie d'utilisation du processeur.
surfasb
27

Oui et non. Ils utiliseront moins de ressources sur votre GPU - nécessiteront moins d'actualisations d'écran - mais pas sur la mémoire principale de votre système ni sur votre processeur.

La taille de la série de travail indiquée dans le gestionnaire de tâches ne correspond pas à la quantité réelle de mémoire utilisée par une application. Il s'agit plus d'un plafond de ce qu'il pourrait utiliser à un moment donné.

Si une autre application demande de la mémoire allouée à un groupe de travail d'un processus qui n'est pas en utilisation active, ce nombre peut être réduit sans modifier la quantité de mémoire réellement utilisée par l'application.

Tim Brigham
la source
Je déteste vraiment les réponses de vote, mais c'est tout simplement faux. Si vous m'aviez posé la question il y a 10 minutes, j'aurais pensé que vous aviez raison.
Supercereal
3
@Lieven la ligne incriminée, du moins pour moi, et pourquoi le vote négatif indique: "Ils utiliseront moins de ressources sur votre GPU - moins de rafraîchissements à l'écran - mais pas sur la mémoire principale de votre système ou sur votre CPU." La question dit explicitement: "utilisent-ils moins de mémoire et de CPU que de les laisser maximisés", selon MS au moins (et je ferai confiance à MS car ils l'ont écrit), oui, cela utilise moins de ressources. Il ne demande rien à propos de la performance de l'application tout en étant minimisé, juste si elle utilisera moins de ressources.
Supercereal
14
@Kyle Cet article de la Base de connaissances a 5 ans. Cela ne s'applique pas aux systèmes de gestion de la mémoire modernes. (Et si vous voyez ma réponse à la réponse de kinokijuf, vous comprendrez pourquoi c'était une mauvaise idée en premier lieu - sauf sur les systèmes d'exploitation qui ne peuvent pas suivre la récence de l'utilisation de la page.)
David Schwartz
1
Les notes de bas de page indiquent qu'il fonctionne pour NT4, 2000 et XP. Je doute que quelque chose a changé depuis lors.
kinokijuf
4
Et je peux confirmer sur mon ordinateur Vista (avec Process Explorer) que le jeu de travail est toujours supprimé.
kinokijuf
12

"Jeu de travail" n'est PAS identique à "Utilisation de la mémoire"

Si un programme a besoin de beaucoup de mémoire, il en aura toujours besoin. Si ce n'est pas le cas, alors ce n'est pas le cas. Minimiser le programme ne signifie pas que le programme ne nécessite pas «de mémoire». "Découper" le jeu de travail consiste simplement à extraire la mémoire de la mémoire physique sur le disque ou à retirer la page si elle est disponible ailleurs sur le disque. (Dans ce dernier cas, le système d'exploitation le fait quand même s'il y a un manque de mémoire. Il s'agit donc simplement d'un problème de mise en cache, et non d'un problème d'utilisation.) Dans les deux cas, cela ne réduit pas l'utilisation du programme; il ne fait que déplacer les données ailleurs.

Cela dit, en ce qui concerne l'utilisation du processeur: il existe quelque chose appelé une augmentation de priorité donnée par le système d'exploitation dans certaines conditions, ce qui peut effectivement amener une application de premier plan à utiliser davantage de processeur. Voir ici pour plus de détails.

Mehrdad
la source
4

Cela dépend vraiment de l'application dont vous parlez et de la manière dont elle est codée. Cependant, à titre de comparaison, disons que le programme est codé de manière à exécuter les mêmes fonctions lorsqu'il est maximisé et minimisé.

Nous nous attendons donc à ce que le programme utilise la même quantité de CPU lorsqu'il est réduit si les mêmes fonctions sous-jacentes sont appelées par l'application.

Cependant, vos processus système utiliseront certainement moins de ressources processeur lorsque les programmes seront réduits au minimum, car il y aura moins de graphiques à restituer pour l'affichage de l'application, probablement maintenant uniquement une icône de la barre d'état système.

C’est-à-dire que, si vous réduisez au minimum l’application, vous faites en sorte qu’une application plus graphique soit affichée et donc restituée, la charge de la CPU pourrait augmenter en raison de la charge de travail graphique supplémentaire.

Globalement, les changements dont nous parlons ici vont probablement être négligeables, à moins que vous n'utilisiez une machine très basse spécification.

iTom
la source
-1, pour non-pertinence. Pour toutes les comparaisons, vous devez toujours assumer Ceteris paribus
Lie Ryan
2
Je ne savais pas que supposer était une mauvaise chose quand c'était clair et couvrait les deux possibilités.
iTom
certaines hypothèses ne sont pas pertinentes, donc inutiles, même si elles sont claires. Si le programme est écrit de manière à ce que sa minimisation l’arrête, cela fera évidemment que l’ordinateur utilise beaucoup moins de ressources; cette hypothèse est totalement inutile pour la discussion.
Lie Ryan
1

Rarement. Pour un programme interactif qui reconnaît le moment où il est réduit au minimum, il utilisera moins de puissance de calcul. Pour des programmes tels que Microsoft Word, il n’y aura pas de diminution de l’utilisation de la CPU.

Pour les applications gourmandes en graphiques (ex. World of Warcraft ou Call of Duty 3), il y aurait une diminution significative de l’utilisation du processeur graphique.

Wizlog
la source
Un programme interactif n'a pas besoin de "reconnaître quand il est réduit au minimum" pour utiliser moins de ressources processeur simplement parce qu'il n'a aucun message de fenêtre clavier / souris auquel répondre.
Random832
@ Random832 Je ne suis pas sûr de ce que vous voulez dire, mais je voulais toutefois vous indiquer le type de programme (comme un jeu) qui marque une pause lorsqu'il perd le focus. Ces jeux utilisent généralement moins de puissance du processeur lorsqu'ils sont réduits au minimum.
Wizlog
0

Autant que je sache, sous Windows 8, les programmes minimisés sont suspendus.

soandos
la source
Est-ce aussi pour les programmes classiques? Il est nécessaire pour le métro car vous ne pouvez pas fermer le logiciel
Journeyman Geek
Oui, du moins c'est ce que j'ai vu dans la version bêta. (exemple: Internet Explorer, version non-métro)
soandos
Il est préférable d’attendre la sortie de Win8 plutôt que de spéculer sur ce qui peut ou non être reporté des versions antérieures.
Jeff Atwood
Eh bien, la partie suspension des applications du métro ne peut pas disparaître. Je suis donc relativement confiant que le reste du système de suspension reste en place. Cela fait également partie du système Win7 actuel, bien que ce ne soit pas automatique.
Soandos