Question Un ordinateur utilise-t-il moins de ressources lorsque les programmes sont réduits?


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


93
2017-12-05 20:53


origine




Réponses:


Oui. Selon MS Support, l'ensemble de travail pour une application réduite est coupé. Vous pouvez le vérifier vous-même avec Process Explorer.

Voici un test d'une seule instance de Firefox 5.0 sous 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 sous Windows 7 x64 avec quelques petites images ouvertes. Cette application a été écrite en Microsoft .NET contrairement à Firefox qui est presque certainement en 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

65
2017-12-05 21:15



Wow, c'est intéressant et vous avez un KB pour le sauvegarder. +1 - Not Kyle stop stalking me
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 pour quelque chose, le système d'exploitation rognera les ensembles de travail résidents de tout processus, minimisés ou non (en fonction de la date à laquelle ils ont accédé aux pages de mémoire). Et si la mémoire n'est pas nécessaire pour une raison quelconque, il serait insensé de la couper - pourquoi supprimer gratuitement les performances d'une application lorsque la mémoire est abondante? - David Schwartz
Wow, les gens n'aiment pas une réponse ... Quelqu'un at-il une preuve du contraire? La façon dont je le vois Kinokijuf a en fait quelques preuves, vous dites que cela ne s'applique pas à Windows 7 et Vista mais n'offre aucune source ... Vous ne les testez même pas: \ working set et la mémoire allouée sont deux choses différentes . Process Explorer est le seul moyen de tester cela. - Not Kyle stop stalking me
Il est intéressant de noter que la réduction de l'utilisation des ressources système est triviale: dans l'exemple donné, en minimisant l'application, le jeu de travail n'est réduit que d'environ 1,2%. - bgvaughan
Notez le manque de devs 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'économies de mémoire visibles, il y a une économie d'utilisation du processeur. - surfasb


Oui et non. Ils utiliseront moins de ressources sur votre GPU - moins besoin de rafraîchir l’écran - mais pas sur la mémoire de votre système principal ou sur le processeur.

La taille de l'ensemble de travail affichée dans le gestionnaire de tâches est ne pas la quantité réelle de mémoire consommée par une application. Il s’agit plutôt d’un plafond de ce qu’il pourrait utiliser à un moment donné.

Si une autre application demande de la mémoire allouée à l'ensemble de travail d'un processus qui n'est pas actif, ce numéro peut être supprimé sans modifier la quantité de mémoire utilisée par l'application.


27
2017-12-05 20:57



Je déteste vraiment les réponses au vote, mais c'est tout simplement faux ... Si vous m'aviez demandé il y a 10 minutes, j'aurais pensé que vous aviez raison. - Not Kyle stop stalking me
@Lieven la ligne incriminée, pour moi au moins, et pourquoi la note basse est: "Ils utiliseront moins de ressources sur votre GPU - moins besoin de rafraîchir l’écran - mais pas sur la mémoire système ou la CPU." La question stipule explicitement: "utilise-t-il moins de mémoire et de processeur que les maximise", ce qui est la solution, au moins selon MS (et je ferai confiance à MS car ils l’ont écrit), oui. Il ne demande rien au sujet de la performance de l'application tout en minimisant, juste si elle utilisera moins de ressources. - Not Kyle stop stalking me
@Kyle Cet article de KB a 5 ans. Il ne s'applique pas aux schémas de gestion de mémoire modernes. (Et si vous voyez mon commentaire sur la réponse de kinokijuf, vous verrez 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
Les notes de bas de page indiquent qu'il convient pour NT4, 2000 et XP. Je doute que rien n'ait changé depuis. - kinokijuf
Et je peux confirmer sur ma machine Vista (avec Process Explorer) que le poste de travail est toujours arrêté. - kinokijuf


"Working Set" n'est PAS identique à "Memory Usage"

Si un programme a besoin d'un gros morceau 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 rend pas soudainement le programme "ne nécessite pas" la mémoire. "Trimming" le set de travail est simplement pagination le souvenir de mémoire physique sur la disque, ou simplement supprimer la page si elle est disponible ailleurs sur le disque. (Dans ce dernier cas, le système d'exploitation le fait en tous cas s'il y a pénurie de mémoire, il ne s'agit que d'un problème de mise en cache, pas d'un problème d'utilisation. ne pas réduire ce que le programme utilise; c'est simplement déménage les données ailleurs.

Cela dit, en ce qui concerne l'utilisation du processeur: il y a quelque chose appelé boost prioritaire donnée par le système d'exploitation dans certaines conditions, ce qui peut en effet provoquer une application de premier plan à utiliser plus de processeur. Voir ici pour plus de détails.


12
2017-12-08 06:45





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

Par conséquent, nous nous attendons à 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, les processus de votre système utiliseront certainement moins de CPU lorsque les programmes sont réduits, car il y aura moins de graphiques à afficher pour la visualisation de l'application, probablement désormais uniquement une icône de la barre d'état système.

C'est-à-dire qu'à moins de minimiser l'application que vous faites apparaître une application plus graphique et que vous la restituiez à la place, la charge du processeur pourrait maintenant augmenter en raison de la charge de travail graphique supplémentaire.

Dans l'ensemble, les changements dont nous parlons vont probablement être négligeables, à moins que vous n'utilisiez une machine très spécifique.


4
2017-12-05 21:04



-1, pour les non-pertinence. Pour toute comparaison, vous devez toujours assumer Ceteris paribus - Lie Ryan
N'a pas réalisé en supposant que c'était une mauvaise chose quand il était clair et couvrant 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 telle manière que la minimisation mettrait fin au programme, cela obligerait évidemment l’ordinateur à utiliser beaucoup moins de ressources; cette hypothèse est totalement inutile pour la discussion. - Lie Ryan


Rarement. Pour un programme interactif qui reconnaît quand il est réduit, oui, il utilisera moins de puissance CPU. Pour les programmes comme Microsoft Word, il n'y aura pas de diminution de l'utilisation du processeur.

Pour les applications utilisant beaucoup de graphiques (par exemple, World of Warcraft ou Call of Duty 3), il y aurait une diminution significative de l'utilisation du processeur graphique (Graphics Processing Unit).


1
2017-12-05 20:57



Un programme interactif ne doit pas "reconnaître quand il est minimisé" pour utiliser moins de CPU en raison simplement de ne pas avoir de messages de fenêtre clavier / souris pour répondre. - Random832
@ Random832 Je ne suis pas sûr de ce que vous voulez dire, mais je voulais dire le type de programme (comme un jeu) qui s'arrête quand il perd le focus. Ces jeux consomment généralement moins de puissance processeur quand ils sont minimisés. - wizlog


Je dirais qu'il utilise moins de ressources car il ne met pas à jour sa fenêtre.

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


1
2017-12-06 10:30





Bien qu'il ne soit pas disponible dans Windows 7 à ma connaissance, dans Windows 8, les programmes réduits sont suspendus.


0
2017-12-08 06:32



Est-ce aussi pour les programmes classiques? Son nécessaire pour le métro puisque vous ne pouvez pas réellement fermer le logiciel - Journeyman Geek♦
Oui, du moins c'est ce que j'ai vu dans la version bêta. (exemple utilisé était Internet Explorer, la 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 ne peut pas être reporté par des bêtas très précoces. - Jeff Atwood
Eh bien, la partie de suspension pour les applications de métro ne peut pas disparaître, donc je serais relativement confiant dans le reste du système de suspension en place. Il fait également partie du système win7 actuel, bien qu'il ne soit pas automatique. - soandos