¿Una computadora usa menos recursos cuando los programas se minimizan?

Respuestas:

67

Si. Según MS Support, se recorta el conjunto de trabajo para una aplicación minimizada . Puede verificar esto usted mismo con Process Explorer.

Aquí hay una prueba de una sola instancia de Firefox 5.0 en Windows 7 x64 con una sola pestaña del sitio web de ESPN.com cargada. Los valores se leyeron usando el Administrador de tareas.

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

Aquí hay una prueba de una sola instancia de Paint.NET en Windows 7 x64 con algunas imágenes pequeñas abiertas. Esta aplicación fue escrita en Microsoft .NET a diferencia de Firefox, que es casi seguro 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
fuente
77
Wow, esto es interesante y tienes una KB para respaldarlo. +1
Supercereal
57
Esto no se aplica a las versiones modernas de Windows (7, Vista). En un sistema operativo moderno, si se necesita memoria para algo, el sistema operativo recortará los conjuntos de trabajo residentes de todos los procesos, minimizados o no (en función de qué tan recientemente hayan accedido a las páginas de memoria). Y si la memoria no se necesita por alguna razón, sería una tontería recortarla: ¿por qué dejar caer gratuitamente el rendimiento de una aplicación cuando la memoria es abundante?
David Schwartz
66
Wow, entonces a la gente no le gusta una respuesta ... ¿Alguien tiene alguna prueba de lo contrario? A mi modo de ver, Kinokijuf en realidad tiene alguna prueba, ustedes dicen que no se aplica a Windows 7 y Vista, pero no ofrecen ninguna fuente ... Ni siquiera lo prueban: \ conjunto de trabajo y memoria asignada son dos cosas diferentes . Process Explorer es la única forma de probar esto.
Supercereal
55
Parece que vale la pena señalar que la reducción en el uso de los recursos del sistema es trivial: en el ejemplo dado, al minimizar la aplicación, el conjunto de trabajo solo se reduce en aproximadamente un 1.2%.
bgvaughan
55
Observe la falta de desarrolladores Win32 en este hilo de comentarios. Hay una serie de eventos Win32 que omiten las aplicaciones minimizadas. Incluso si no hay un notable ahorro de memoria, seguramente hay un ahorro en el uso de la CPU.
surfasb
27

Si y no. Utilizarán menos recursos en su GPU, menos necesidad de actualizaciones de pantalla, pero no en la memoria principal del sistema o CPU.

El tamaño del conjunto de trabajo que se muestra en el administrador de tareas no es la cantidad real de memoria consumida por una aplicación. Es más un límite de cuánto podría usar en un momento dado.

Si otra aplicación solicita memoria asignada al conjunto de trabajo de un proceso que no está en uso activo, este número puede reducirse sin cambiar la cantidad de memoria que la aplicación está utilizando realmente.

Tim Brigham
fuente
Realmente odio rechazar las respuestas de votación, pero esto es simplemente incorrecto ... Si me hubieras preguntado hace 10 minutos, habría pensado que tenías razón.
Supercereal
3
@Lieven la línea ofensiva, al menos para mí, y por qué el downvote dice: "Usarán menos recursos en su GPU, menos necesidad de actualizaciones de pantalla, pero no en la memoria principal del sistema o CPU". La pregunta establece explícitamente: "¿usan menos memoria y CPU que dejarlos maximizados", que es la respuesta, al menos según MS (y confiaré en MS aquí ya que lo escribieron), sí, usa menos recursos. No pregunta nada sobre el rendimiento de la aplicación mientras está minimizada, solo si usará menos recursos.
Supercereal
14
@Kyle Ese artículo de KB tiene 5 años. No se aplica a los esquemas modernos de administración de memoria. (Y si ves mi comentario a la respuesta de Kinokijuf, verás por qué fue una mala idea en primer lugar, excepto en los sistemas operativos que no pueden rastrear el uso reciente de la página.)
David Schwartz,
1
Las notas a pie de página indican que es una manzana para NT4, 2000 y XP. Dudo que algo haya cambiado desde entonces.
kinokijuf
44
Y puedo confirmar en mi máquina Vista (con Process Explorer) que el conjunto de trabajo aún se cae.
kinokijuf
12

"Conjunto de trabajo" NO es lo mismo que "Uso de memoria"

Si un programa necesita una porción de memoria, siempre la necesitará. Si no lo hace, entonces no lo hace. Minimizar el programa de repente no hace que el programa 'no requiera' memoria. "Recortar" el conjunto de trabajo es simplemente paginar la memoria de la memoria física al disco , o simplemente eliminar la página si está disponible en otra parte del disco. (En el último caso, el sistema operativo lo hace de todos modos si hay escasez de memoria, por lo que es solo un problema de almacenamiento en caché, no un problema de "uso"). En cualquier caso, no reduce lo que usa el programa; simplemente reubica los datos en otro lugar.

Dicho esto, con respecto al uso de la CPU: hay algo llamado aumento de prioridad dado por el sistema operativo en ciertas condiciones, que de hecho puede hacer que una aplicación en primer plano use más CPU. Ver aquí para más detalles.

Mehrdad
fuente
4

Realmente depende de la aplicación de la que está hablando y de la forma en que se codifica la aplicación; sin embargo, por el bien de la comparación, digamos que el programa está codificado de manera que ejecutará las mismas funciones cuando se maximice y minimice.

Por lo tanto, esperaríamos que el programa use la misma cantidad de CPU cuando se minimiza si la aplicación llama a las mismas funciones subyacentes.

Sin embargo, los procesos de su sistema ciertamente usarán menos CPU cuando los programas se minimicen, ya que habrá menos gráficos para representar la visualización de la aplicación, probablemente ahora solo un icono de la bandeja del sistema.

Es decir, a menos que, al minimizar la aplicación, se visualice una aplicación más gráfica y, por lo tanto, se procese, ahora la carga de la CPU podría aumentar debido a la carga de trabajo de gráficos adicional.

En general, los cambios de los que estamos hablando aquí probablemente serán insignificantes a menos que esté en una máquina de muy baja especificación.

iTom
fuente
-1, por irrelevancias. Para cualquier comparación, siempre tenía que asumir Ceteris paribus
Lie Ryan
2
No me di cuenta de que asumir era algo malo cuando se aclaraba y cubría ambas posibilidades.
iTom
ciertos supuestos son irrelevantes, por lo tanto inútiles, incluso si se aclaran. Si el programa está escrito de tal manera que la minimización terminaría el programa, eso obviamente haría que la computadora use muchos menos recursos; esa suposición es totalmente inútil para la discusión.
Lie Ryan
1

Raramente. Para un programa interactivo que reconoce cuándo se minimiza, sí, usará menos energía de la CPU. Para programas como Microsoft Word, no habrá una disminución en el uso de la CPU.

Para las aplicaciones con uso intensivo de gráficos (por ejemplo, World of Warcraft o Call of Duty 3), habría una disminución significativa en el uso de GPU (Unidad de procesamiento de gráficos).

wizlog
fuente
Un programa interactivo no tiene que "reconocer cuándo está minimizado" para usar menos CPU debido a que simplemente no tiene ningún mensaje de ventana de teclado / mouse para responder.
Random832
@ Random832 No estoy seguro de lo que quieres decir por completo, sin embargo, tenía la intención de transmitir el tipo de programa (como un juego) que se detiene cuando pierde el foco. Estos juegos generalmente usan menos potencia de CPU cuando se minimizan.
wizlog
0

Si bien no está disponible en Windows 7, que yo sepa, en Windows 8, los programas que se minimizan se suspenden.

soandos
fuente
¿Es eso también para programas clásicos? Es necesario para el metro ya que no puedes cerrar el software
Journeyman Geek
Sí, al menos eso es lo que he visto en la versión beta. (el ejemplo utilizado fue internet explorer, la versión no metropolitana)
soandos
Es mejor esperar hasta que se lance Win8 en lugar de especular sobre lo que puede o no llevarse adelante desde las primeras versiones beta.
Jeff Atwood
Bueno, la parte de suspensión para las aplicaciones de metro no puede desaparecer, por lo que estaría relativamente seguro de que el resto del sistema de suspensión se mantendrá en su lugar. También es parte del sistema win7 actual, aunque no es automático.
soandos