Có một máy tính sử dụng ít tài nguyên hơn khi các chương trình được giảm thiểu?


93

Khi các chương trình được thu nhỏ trong Windows 7, chúng có sử dụng ít bộ nhớ và CPU hơn so với việc tối đa hóa chúng không?

Câu trả lời:


67

Đúng. Theo MS Support, bộ làm việc cho một ứng dụng thu nhỏ được cắt bớt . Bạn có thể tự kiểm tra điều này với Process Explorer.

Đây là bản thử nghiệm của một phiên bản Firefox 5.0 trong Windows 7 x64 với một tab duy nhất của trang web ESPN.com được tải. Các giá trị được đọc bằng Trình quản lý tác vụ.

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

Đây là bản thử nghiệm của một phiên bản Paint.NET duy nhất trong Windows 7 x64 với một vài hình ảnh nhỏ được mở. Ứng dụng này được viết bằng Microsoft .NET không giống như Firefox, gần như chắc chắn là 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

7
Ồ, điều này thật thú vị và bạn có một KB để sao lưu nó. +1
Supercereal

57
Điều này không áp dụng cho các phiên bản Windows hiện đại (7, Vista). Trên một hệ điều hành hiện đại, nếu cần bộ nhớ cho một thứ gì đó, hệ điều hành sẽ cắt bớt các bộ làm việc thường trú của tất cả các quy trình, giảm thiểu hay không (dựa trên cách chúng truy cập các trang bộ nhớ gần đây). Và nếu không cần bộ nhớ vì bất kỳ lý do gì, sẽ thật ngu ngốc khi cắt nó - tại sao lại giảm hiệu năng của ứng dụng một cách vô cớ khi bộ nhớ còn dồi dào?
David Schwartz

6
Wow để mọi người không thích một câu trả lời ... Có ai có bất kỳ bằng chứng nào ngược lại không? Cách tôi nhìn thấy Kinokijuf thực sự có một số bằng chứng, các bạn nói rằng nó không áp dụng cho windows 7 và vista nhưng không cung cấp nguồn nào ... Các bạn thậm chí không kiểm tra nó: \ bộ làm việc và bộ nhớ được phân bổ là hai thứ khác nhau . Quá trình thám hiểm là cách duy nhất để kiểm tra điều này.
Supercereal

5
Có vẻ đáng lưu ý rằng việc giảm sử dụng tài nguyên hệ thống là không đáng kể: trong ví dụ đưa ra, bằng cách giảm thiểu ứng dụng, bộ công việc chỉ giảm khoảng 1,2%.
bgvaughan

5
Lưu ý thiếu các nhà phát triển Win32 trong luồng nhận xét này. Có một số sự kiện Win32 bỏ qua các ứng dụng được thu nhỏ. Ngay cả khi không có tiết kiệm bộ nhớ đáng chú ý, chắc chắn có tiết kiệm sử dụng CPU.
Surfasb

27

Có và không. Họ sẽ sử dụng ít tài nguyên hơn trên GPU của bạn - ít cần làm mới màn hình hơn - nhưng không phải trên bộ nhớ hệ thống chính hoặc CPU của bạn.

Kích thước tập làm việc được hiển thị trong trình quản lý tác vụ không phải là dung lượng bộ nhớ thực tế mà ứng dụng sử dụng. Nó giống như mức trần của nó có thể sử dụng tại một thời điểm nhất định.

Nếu một ứng dụng khác yêu cầu bộ nhớ được phân bổ cho một bộ làm việc của một tiến trình không hoạt động, số này có thể được giảm xuống mà không thay đổi lượng bộ nhớ mà ứng dụng đang thực sự sử dụng.


Tôi thực sự ghét bỏ câu trả lời bỏ phiếu nhưng điều này chỉ sai ... Nếu bạn hỏi tôi 10 phút trước tôi sẽ nghĩ bạn đã đúng.
Supercereal

3
@ Ít nhất là đối với dòng vi phạm, đối với tôi, và tại sao downvote đứng: "Họ sẽ sử dụng ít tài nguyên hơn trên GPU của bạn - ít cần làm mới màn hình hơn - nhưng không phải trên bộ nhớ hệ thống chính hoặc CPU của bạn." Câu hỏi nêu rõ: "họ có sử dụng ít bộ nhớ và CPU hơn là để tối đa hóa chúng không" mà câu trả lời là, theo MS ít nhất (Và tôi sẽ tin tưởng MS ở đây vì họ đã viết nó), vâng, nó sử dụng ít tài nguyên hơn. Anh ta không hỏi bất cứ điều gì về sự phù hợp của ứng dụng trong khi giảm thiểu, chỉ khi nó sẽ sử dụng ít tài nguyên hơn.
Supercereal

14
@Kyle Bài viết KB đó 5 tuổi. Nó không áp dụng cho các chương trình quản lý bộ nhớ hiện đại. (Và nếu bạn nhìn thấy bình luận của tôi để trả lời kinokijuf, bạn sẽ thấy lý do tại sao nó là một ý tưởng tồi ở nơi đầu tiên - ngoại trừ trên hệ điều hành mà không thể theo dõi số lần truy cập của việc sử dụng trang.)
David Schwartz

1
Các chú thích nói rằng nó áp dụng cho NT4, 2000 và XP. Tôi nghi ngờ bất cứ điều gì đã thay đổi kể từ đó.
kinokijuf

4
Và tôi có thể xác nhận trên máy Vista của mình (với Process Explorer) rằng bộ làm việc vẫn không giảm.
kinokijuf

12

"Bộ làm việc" KHÔNG giống như "Sử dụng bộ nhớ"

Nếu một chương trình cần một đoạn bộ nhớ, nó sẽ luôn cần nó. Nếu nó không, thì nó không. Tối thiểu hóa chương trình không đột nhiên làm cho chương trình 'không yêu cầu' bộ nhớ. "Cắt xén" bộ làm việc chỉ đơn giản là phân trang bộ nhớ từ bộ nhớ vật lý vào đĩa hoặc đơn giản là xóa trang nếu nó có sẵn ở nơi khác trên đĩa. (Trong trường hợp sau, hệ điều hành thực hiện nó nào nếu có tình trạng thiếu bộ nhớ, vì vậy nó chỉ là một vấn đề bộ nhớ đệm, không phải là một 'sử dụng' vấn đề.) Trong cả hai trường hợp, nó không làm giảm những gì mà chương trình sử dụng; nó chỉ đơn thuần là di chuyển dữ liệu ở nơi khác.

Điều đó nói rằng, liên quan đến việc sử dụng CPU: có một thứ gọi là mức tăng ưu tiên được đưa ra bởi HĐH trong một số điều kiện nhất định, điều này thực sự có thể khiến ứng dụng tiền cảnh sử dụng nhiều CPU hơn. Xem ở đây để biết chi tiết.


4

Nó thực sự phụ thuộc vào ứng dụng mà bạn đang nói và cách ứng dụng được mã hóa; tuy nhiên để so sánh, hãy nói rằng chương trình được mã hóa theo cách nó sẽ chạy các chức năng tương tự khi được tối đa hóa và tối thiểu hóa.

Do đó, chúng tôi hy vọng chương trình sẽ sử dụng cùng một lượng CPU khi được giảm thiểu nếu các chức năng cơ bản tương tự đang được ứng dụng gọi.

Tuy nhiên, các quy trình hệ thống của bạn chắc chắn sẽ sử dụng ít CPU hơn khi các chương trình được thu nhỏ vì sẽ có ít đồ họa được hiển thị để xem ứng dụng, có lẽ giờ chỉ là biểu tượng khay hệ thống.

Đó là trừ khi tối thiểu hóa ứng dụng mà bạn khiến ứng dụng đồ họa được đưa vào xem nhiều hơn và do đó được hiển thị thay vào đó, bây giờ tải CPU có thể tăng do tải công việc đồ họa thêm.

Tất cả trong tất cả các thay đổi mà chúng ta đang nói ở đây có lẽ sẽ không đáng kể trừ khi bạn sử dụng máy có thông số kỹ thuật rất thấp.


-1, cho những điều không liên quan. Đối với bất kỳ so sánh, bạn luôn phải giả sử Ceteris paribus
Lie Ryan

2
Không nhận ra rằng giả định là một điều xấu khi làm rõ và bao gồm cả hai khả năng.
iTom

một số giả định nhất định là không liên quan, do đó vô dụng, ngay cả khi được làm rõ. Nếu chương trình được viết theo cách giảm thiểu sẽ chấm dứt chương trình, điều đó rõ ràng sẽ khiến máy tính sử dụng ít tài nguyên hơn nhiều; giả định đó hoàn toàn vô dụng cho cuộc thảo luận.
Lie Ryan

1

Ít khi. Đối với một chương trình tương tác nhận ra khi nào nó được thu nhỏ, vâng, nó sẽ sử dụng ít năng lượng CPU hơn. Đối với các chương trình như Microsoft Word, sẽ không giảm mức sử dụng CPU.

Đối với các ứng dụng chuyên sâu về đồ họa (ví dụ World of Warcraft hoặc Call of Duty 3), việc sử dụng GPU (Bộ xử lý đồ họa) sẽ giảm đáng kể.


Một chương trình tương tác không phải "nhận ra khi nào nó được thu nhỏ" để sử dụng ít CPU hơn do đơn giản là không có bất kỳ thông báo cửa sổ bàn phím / chuột nào để phản hồi.
Random832

@ Random832 Tôi không chắc ý của bạn là gì hoàn toàn, tuy nhiên tôi có ý truyền đạt loại chương trình (như trò chơi) tạm dừng khi mất tập trung. Những trò chơi này thường sử dụng ít năng lượng CPU hơn khi được thu nhỏ.
wizlog


0

Mặc dù nó không có sẵn trong windows 7 theo hiểu biết tốt nhất của tôi, nhưng trong Windows 8, các chương trình được thu nhỏ lại bị treo.


Đó có phải là cho các chương trình cổ điển là tốt? Nó cần thiết cho tàu điện ngầm vì bạn thực sự không thể đóng phần mềm
Journeyman Geek

Vâng, ít nhất đó là những gì tôi đã thấy trong bản beta. (ví dụ được sử dụng là internet explorer, phiên bản không phải metro)
soandos

tốt nhất là đợi cho đến khi Win8 được phát hành thay vì suy đoán về những gì có thể hoặc không thể chuyển tiếp từ betas từ rất sớm.
Jeff Atwood

Vâng, phần đình chỉ cho các ứng dụng tàu điện ngầm không thể biến mất, vì vậy tôi sẽ tương đối tin tưởng vào phần còn lại của hệ thống treo ở vị trí cũ. Nó cũng là một phần của hệ thống win7 hiện tại, mặc dù nó không tự động.
soandos
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.