Programlar küçültüldüğünde bilgisayar daha az kaynak kullanıyor mu?


93

Programlar Windows 7'de en aza indirildiğinde, en üst düzeye çıkarmaktan daha az bellek ve CPU kullanıyorlar mı?

Yanıtlar:


67

Evet. MS Destek'e göre, simge durumuna küçültülmüş bir uygulama için çalışma seti kesiliyor . Bunu Process Explorer ile kontrol edebilirsiniz.

İşte Windows 7 x64'teki tek bir Firefox 5.0 örneğinin, ESPN.com web sitesinin tek bir sekmesi ile birlikte test edilmesi. Değerler Görev Yöneticisi kullanılarak okundu.

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

İşte Windows 7 x64'te tek bir Paint.NET örneğinin test edilmesi ve birkaç küçük resmin açılması. Bu uygulama neredeyse kesinlikle C / C ++ olan Firefox'un aksine Microsoft .NET ile yazılmıştır.

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
Vay canına, bu ilginç ve onu yedeklemek için bir KB seçeneğiniz var. +1
Supercereal

57
Bu, Windows'un modern sürümleri için geçerli değildir (7, Vista). Modern bir işletim sisteminde, bir şey için belleğe ihtiyaç duyulursa, işletim sistemi asgari düzeyde olsun veya olmasın tüm işlemlerin yerleşik çalışma setlerini düzenler (bellek sayfalarına ne kadar yakın zamanda eriştiğine bağlı olarak). Eğer herhangi bir nedenden dolayı hafızaya ihtiyaç duyulmuyorsa, kesmek aptalca olacaktır - neden hafıza bolken bir uygulamanın performansını neden gereksiz yere düşürdünüz?
David Schwartz

6
Vay canına, insanlar bir cevaptan hoşlanmazlar ... Kimsenin bunun aksini kanıtlayan var mı? Gördüğüm kadarıyla Kinokijuf'un aslında bir kanıtı var, sizler bunun Windows 7 ve Vista için geçerli olmadığını söylüyorsunuz, ancak kaynak göstermiyorsunuz ... Siz bile test etmiyorsunuz: \ çalışma grubu ve ayrılmış hafıza iki farklı şey. . İşlem gezgini, bunu test etmenin tek yoludur.
Supercereal

5
Sistem kaynaklarının kullanımındaki azalmanın önemsiz olduğuna dikkat çekmek gerekir: verilen örnekte, uygulamayı en aza indirerek çalışma seti sadece% 1,2 oranında azaltılmıştır.
bgvaughan

5
Bu yorum dizisindeki Win32 devs eksikliği dikkat edin. Küçültülmüş uygulamaları aşan bir dizi Win32 olayı var. Dikkat çekici bir hafıza tasarrufu olmasa bile, bir CPU kullanım tasarrufu olduğundan emin olun.
surfasb

27

Evet ve hayır. GPU'nuzda daha az kaynak kullanacaklar - ekran yenilemeye daha az ihtiyaç - ama ana sistem belleğinizde veya CPU'nuzda kullanmayacaklar.

Görev yöneticisinde gösterilen çalışma kümesi boyutu , bir uygulama tarafından tüketilen gerçek bellek miktarı değil . Belirli bir zamanda ne kadar kullanabileceğinin tavanıdır.

Başka bir uygulama, aktif bir şekilde kullanılmayan bir işlemin çalışma grubuna tahsis edilmiş hafıza talep ederse, bu sayı uygulamanın gerçekte kullandığı hafıza miktarını değiştirmeden aşağı indirilebilir.


Oy verme cevaplarından gerçekten nefret ediyorum ama bu sadece yanlış ... Eğer 10 dakika önce bana sorarsanız, haklı olduğunuzu düşünürdüm.
Supercereal

3
@ En azından benim için rahatsız edici bir çizgi ve neden aşağı oy kullanmıyor: "GPU'nuzda daha az kaynak kullanacaklar - ekran yenilemelerine daha az ihtiyaç - ana sistem belleğinizde veya CPU'nuzda değil." Soru açıkça: "En az MS’e göre (Ve yazdıklarından beri burada MS’e güveneceğim)" evet, daha az kaynak kullanıyor. " En aza indirilirken, sadece daha az kaynak kullanacaksa, uygulamanın performansı hakkında hiçbir şey sormaz.
Supercereal

14
@Kyle Bu KB makalesi 5 yaşında. Modern bellek yönetimi programları için geçerli değildir. (Ve kinokijuf'un cevabına olan yorumumu görürseniz, bunun neden ilk bakışta kötü bir fikir olduğunu göreceksiniz - sayfa kullanımının durgunluğunu izleyemeyen işletim sistemleri hariç.)
David Schwartz

1
Dipnotlar NT4, 2000 ve XP için elmaları ifade ediyor. O zamandan beri bir şeylerin değiştiğinden şüpheliyim.
kinokijuf

4
Ve Vista makinemde (İşlem Gezgini ile birlikte) çalışma setinin hala düştüğünü onaylayabilirim.
kinokijuf

12

"Çalışma Kümesi", "Bellek Kullanımı" ile aynı DEĞİLDİR

Bir programın çok fazla belleğine ihtiyacı varsa, her zaman buna ihtiyacı olacaktır. Olmazsa, o zaman olmaz. Programın en aza indirilmesi, aniden programın belleği gerektirmemesini sağlamaz. "Kırpma" çalışma grubu basitçe edilir dışarı sayfalama gelen bellek fiziksel bellek üzerine diske veya başka bir yerde diskte mevcut ise basitçe sayfasını kaldırarak. (İkinci durumda, OS yapar zaten bellek sıkıntısı varsa, yani sadece bir önbelleğe alma sorunu değil, bir 'Kullanım' mesele.), Bu mu iki durumda da değil programın kullandığı azaltmak; yalnızca verileri başka bir yere yerleştirir .

Bununla birlikte, CPU kullanımı ile ilgili olarak: OS tarafından belirli şartlarda verilen öncelikli destek denilen bir şey var , bu aslında bir ön plan uygulamasının daha fazla CPU kullanmasına neden olabilir. Detaylar için buraya bakınız.


4

Bu gerçekten bahsettiğiniz uygulamaya ve uygulamanın kodlanma şekline bağlıdır; bununla birlikte karşılaştırma uğruna, programın, maksimize edildiğinde ve minimize edildiğinde aynı fonksiyonları çalıştıracak şekilde kodlandığını söyleyelim.

Dolayısıyla, uygulama tarafından aynı temel işlevleri çağırıyorsanız, programın simge durumuna küçültüldüğünde aynı miktarda CPU kullanmasını bekleriz.

Ancak, sistem işlemleriniz kesinlikle programlar küçültüldüğünde daha az CPU kullanacaktır, çünkü uygulama görüntüleme için oluşturulacak daha az grafik olacaktır, muhtemelen şimdi sadece bir sistem tepsisi simgesi.

Bu, uygulamayı en aza indirdikten sonra, daha grafiksel bir uygulamanın görünmesine ve dolayısıyla yerine getirilmesine neden olmadığı sürece, artık grafik yükü, fazladan grafik iş yükü nedeniyle artabilir.

Burada bahsettiğimiz tüm değişikliklerde, çok düşük özellikli bir makinede olmadıkça muhtemelen ihmal edilebilir hale gelecektir.


-1, uygunsuzluklar için. Karşılaştırmalar için her zaman Ceteris paribus
Lie Ryan

2
Her iki olasılığı da açıklığa kavuşturarak kötü bir şey olduğunu kabul etmedim.
iTom

Bazı varsayımlar önemsizdir, bu nedenle açık yapılsa bile işe yaramaz. Program, küçültmenin programı sonlandıracak şekilde yazılması durumunda, bilgisayarın açıkça daha az kaynak kullanmasına neden olacak; Bu varsayım tartışma için tamamen yararsızdır.
Yalan Ryan

1

Seyrek. Minimize edildiğinde tanıyan etkileşimli bir program için, evet daha az CPU gücü kullanacaktır. Microsoft Word gibi programlar için CPU kullanımında bir düşüş olmaz.

Grafik yoğun uygulamalar için (örneğin, World of Warcraft veya Call of Duty 3) GPU (Grafik İşleme Birimi) kullanımında önemli bir düşüş olacaktır.


Etkileşimli bir program, yanıt verilecek herhangi bir klavye / fare penceresi iletisine sahip olmadığından daha az CPU kullanmak için "küçültüldüğünde tanımak" zorunda değildir.
Random832

@ Random832 Tamamen ne demek istediğinizi tam olarak anlayamadım, ancak odağı gevşettiğinde duraklayan bir program türü (oyun gibi) iletmek istemiştim. Bu oyunlar genellikle küçültüldüğünde daha az CPU gücü kullanır.
wizlog


0

Windows 7'de bildiğim kadarıyla mevcut olmasa da, Windows 8'de simge durumuna küçültülmüş programlar askıya alınmaktadır.


Klasik programlar için de öyle mi? Yazılımı kapatamayacağınız için metro için gerekli
Journeyman Geek

Evet, en azından betada gördüğüm şey bu. (kullanılan örnek internet olmayan, metro olmayan versiyon)
soandos

çok erken betataşlarda neyin ilerleyebileceğini veya ilerlemeyeceğini tahmin etmek yerine, Win8 piyasaya sürülmeden önce beklemek en iyisidir.
Jeff Atwood

Peki metro uygulamaları için süspansiyon kısmı gidemez, bu yüzden yerinde kalan süspansiyon sisteminin geri kalanına nispeten güvende olurdum. Otomatik olmamasına rağmen mevcut win7 sisteminin bir parçasıdır.
soandos
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.