Apakah komputer menggunakan sumber daya yang lebih sedikit ketika program diminimalkan?

93

Ketika program diminimalkan pada Windows 7, apakah mereka menggunakan lebih sedikit memori dan CPU daripada membiarkannya dimaksimalkan?

jao
sumber

Jawaban:

67

Iya. Menurut Dukungan MS, set kerja untuk aplikasi yang diperkecil dipangkas . Anda dapat memeriksanya sendiri dengan Process Explorer.

Berikut adalah uji coba satu contoh Firefox 5.0 di Windows 7 x64 dengan satu tab situs web ESPN.com dimuat. Nilai dibaca menggunakan Pengelola Tugas.

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

Berikut ini adalah tes dari satu contoh Paint.NET di Windows 7 x64 dengan beberapa gambar kecil terbuka. Aplikasi ini ditulis dalam Microsoft .NET tidak seperti Firefox yang hampir pasti 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
sumber
7
Wow, ini menarik dan Anda memiliki KB untuk mendukungnya. +1
Supercereal
57
Ini tidak berlaku untuk Windows versi modern (7, Vista). Pada OS modern, jika memori diperlukan untuk sesuatu, sistem operasi akan memangkas perangkat yang berfungsi tetap dari semua proses, diminimalkan atau tidak (berdasarkan seberapa baru mereka mengakses halaman memori). Dan jika ingatan itu tidak diperlukan karena alasan apa pun, akan bodoh untuk memangkasnya - mengapa tanpa ampun menjatuhkan kinerja suatu aplikasi ketika ingatannya berlimpah?
David Schwartz
6
Wow, jadi orang tidak suka jawaban ... Adakah yang punya bukti sebaliknya? Cara saya melihatnya Kinokijuf sebenarnya memiliki beberapa bukti, kalian bilang itu tidak berlaku untuk windows 7 dan vista tetapi tidak menawarkan sumber ... Kalian bahkan tidak mengujinya: \ set kerja dan memori yang dialokasikan adalah dua hal yang berbeda . Penjelajah proses adalah satu-satunya cara untuk menguji ini.
Supercereal
5
Tampaknya perlu dicatat bahwa pengurangan dalam penggunaan sumber daya sistem sepele: dalam contoh yang diberikan, dengan meminimalkan aplikasi, set kerja hanya berkurang sekitar 1,2%.
bgvaughan
5
Perhatikan kekurangan Win32 devs di utas komentar ini. Ada sejumlah peristiwa Win32 yang melewati aplikasi yang diperkecil. Bahkan jika tidak ada penghematan memori yang nyata, pasti ada penghematan penggunaan CPU.
surfasb
27

Iya dan tidak. Mereka akan menggunakan lebih sedikit sumber daya pada GPU Anda - lebih sedikit kebutuhan untuk refresh layar - tetapi tidak pada memori sistem utama atau CPU Anda.

Ukuran set kerja yang ditunjukkan pada task manager bukan jumlah sebenarnya dari memori yang dikonsumsi oleh suatu aplikasi. Ini lebih merupakan plafon berapa banyak yang bisa digunakan pada titik waktu tertentu.

Jika aplikasi lain meminta memori yang dialokasikan untuk satu set kerja proses yang tidak aktif digunakan nomor ini dapat diturunkan tanpa mengubah jumlah memori aplikasi sebenarnya menggunakan.

Tim Brigham
sumber
Saya benar-benar benci jawaban voting tetapi ini salah ... Jika Anda bertanya kepada saya 10 menit yang lalu saya akan berpikir Anda benar.
Supercereal
3
@Lieven the offending line, setidaknya untuk saya, dan mengapa downvote berlaku: "Mereka akan menggunakan lebih sedikit sumber daya pada GPU Anda - lebih sedikit kebutuhan untuk penyegaran layar - tetapi tidak pada memori sistem utama atau CPU Anda." Pertanyaannya secara eksplisit menyatakan: "apakah mereka menggunakan lebih sedikit memori dan CPU daripada membiarkan mereka dimaksimalkan" yang jawabannya adalah, setidaknya menurut MS (Dan saya akan percaya MS di sini karena mereka menulisnya), ya itu menggunakan lebih sedikit sumber daya. Dia tidak bertanya apa-apa tentang kinerja aplikasi sementara diminimalkan, hanya jika itu akan menggunakan lebih sedikit sumber daya.
Supercereal
14
@Kyle Artikel KB itu berumur 5 tahun. Itu tidak berlaku untuk skema manajemen memori modern. (Dan jika Anda melihat komentar saya pada jawaban kinokijuf, Anda akan melihat mengapa itu adalah ide yang buruk - kecuali pada sistem operasi yang tidak dapat melacak kebaruan penggunaan halaman).
David Schwartz
1
Catatan kaki menyatakan bahwa itu apel untuk NT4, 2000 dan XP. Saya ragu ada yang berubah sejak saat itu.
kinokijuf
4
Dan saya dapat mengkonfirmasi pada mesin Vista saya (dengan Process Explorer) bahwa set kerja masih tidak turun.
kinokijuf
12

"Working Set" TIDAK sama dengan "Memory Usage"

Jika suatu program membutuhkan sepotong memori, ia akan selalu membutuhkannya. Jika tidak, maka tidak. Meminimalkan program tidak tiba-tiba membuat program 'tidak memerlukan' memori. "Memotong" set yang berfungsi hanyalah membuka keluar memori dari memori fisik ke disk , atau cukup menghapus halaman jika tersedia di tempat lain pada disk. (Dalam kasus terakhir, OS tetap melakukannya jika ada kekurangan memori, jadi itu hanya masalah caching, bukan masalah 'penggunaan'.) Dalam kedua kasus, itu tidak mengurangi apa yang digunakan program; itu hanya memindahkan data di tempat lain.

Yang mengatakan, mengenai penggunaan CPU: ada sesuatu yang disebut peningkatan prioritas yang diberikan oleh OS dalam kondisi tertentu, yang memang dapat menyebabkan aplikasi latar depan menggunakan lebih banyak CPU. Lihat di sini untuk detailnya.

Mehrdad
sumber
4

Ini benar-benar tergantung pada aplikasi yang Anda bicarakan dan cara aplikasi dikodekan; namun untuk perbandingan, katakanlah bahwa program dikodekan sedemikian rupa sehingga akan menjalankan fungsi yang sama ketika dimaksimalkan dan diminimalkan.

Karena itu kami berharap program akan menggunakan jumlah CPU yang sama ketika diminimalkan jika fungsi-fungsi dasar yang sama dipanggil oleh aplikasi.

Namun, proses sistem Anda tentu akan menggunakan lebih sedikit CPU ketika program diminimalkan karena akan ada lebih sedikit gambar yang akan ditampilkan untuk tampilan aplikasi, mungkin sekarang hanya ikon baki sistem.

Itu kecuali pada meminimalkan aplikasi Anda menyebabkan aplikasi yang lebih grafis untuk dibawa ke tampilan dan karenanya diberikan, sekarang beban CPU dapat meningkat karena beban kerja grafis tambahan.

Semua perubahan yang kita bicarakan di sini mungkin akan diabaikan kecuali Anda pada mesin spec yang sangat rendah.

Itom
sumber
-1, untuk ketidakrelevanan. Untuk perbandingan apa pun, Anda selalu harus mengasumsikan Ceteris paribus
Lie Ryan
2
Tidak menyadari menganggap itu hal yang buruk ketika dibuat jelas dan mencakup kedua kemungkinan.
ITom
asumsi tertentu tidak relevan, oleh karena itu tidak berguna, bahkan jika dibuat jelas. Jika program ditulis sedemikian rupa sehingga minimalisasi akan menghentikan program, itu jelas akan membuat komputer menggunakan sumber daya yang jauh lebih sedikit; asumsi itu sama sekali tidak berguna untuk diskusi.
Lie Ryan
1

Jarang. Untuk program interaktif yang mengenali ketika diminimalkan, ya itu akan menggunakan daya CPU lebih sedikit. Untuk program seperti Microsoft Word, tidak akan ada penurunan dalam penggunaan CPU.

Untuk aplikasi intensif grafis (mis. World of Warcraft atau Call of Duty 3) akan ada penurunan yang signifikan dalam penggunaan GPU (Graphics Processing Unit).

wizlog
sumber
Program interaktif tidak harus "mengenali kapan diminimalkan" untuk menggunakan lebih sedikit CPU karena tidak memiliki pesan keyboard / jendela mouse untuk merespons.
Random832
@ Random832 Saya tidak yakin apa yang Anda maksud sepenuhnya, namun saya bermaksud menyampaikan jenis program (seperti game) yang berhenti ketika ia kehilangan fokus. Game-game ini umumnya menggunakan daya CPU yang lebih kecil saat diminimalkan.
wizlog
0

Meskipun tidak tersedia di windows 7 sepengetahuan saya, di Windows 8, program yang diminimalkan ditangguhkan.

soando
sumber
Apakah itu untuk program klasik juga? Ini diperlukan untuk metro karena Anda tidak dapat benar-benar menutup perangkat lunak
Journeyman Geek
Ya, setidaknya itulah yang saya lihat dalam versi beta. (contoh yang digunakan adalah internet explorer, versi non-metro)
soandos
lebih baik menunggu sampai Win8 dirilis daripada berspekulasi tentang apa yang mungkin atau tidak dapat diteruskan dari beta yang sangat awal.
Jeff Atwood
Nah bagian suspensi untuk aplikasi metro tidak bisa hilang, jadi saya akan relatif percaya diri dalam sisa sistem suspensi tetap di tempatnya. Ini juga bagian dari sistem win7 saat ini, meskipun tidak otomatis.
soandos