سؤال هل يستخدم الكمبيوتر موارد أقل عند تصغير البرامج؟


عندما يتم تصغير البرامج في Windows 7 ، هل تستخدم ذاكرة و CPU أقل من تركها إلى الحد الأقصى؟


94
2017-12-05 20:53


الأصل




الأجوبة:


نعم فعلا. وفقًا لـ MS Support ، قلص مجموعة العمل للتطبيق المصغر. يمكنك التحقق من ذلك بنفسك باستخدام Process Explorer.

في ما يلي اختبار لمثيل واحد من Firefox 5.0 في Windows 7 x64 مع وجود علامة تبويب واحدة لموقع ESPN.com على الويب. تمت قراءة القيم باستخدام Task Manager.

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

فيما يلي اختبار لمثيل واحد من Paint.NET في Windows 7 x64 مع فتح بعض الصور الصغيرة. تمت كتابة هذا التطبيق في Microsoft .NET بعكس Firefox والذي يكاد يكون بالتأكيد 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

66
2017-12-05 21:15



نجاح باهر ، وهذا مثير للاهتمام ، وكان لديك KB لدعمه. +1 - Not Kyle stop stalking me
لا ينطبق هذا على الإصدارات الحديثة من Windows (7، Vista). في نظام تشغيل حديث ، إذا كانت الذاكرة مطلوبة لشيء ما ، فإن نظام التشغيل سيقلل مجموعات العمل المقيمة من الكل العمليات ، أو تصغيرها أو عدم استخدامها (بناءً على مدى وصولها مؤخرًا إلى صفحات الذاكرة). وإذا لم يكن هناك حاجة إلى الذاكرة لأي سبب من الأسباب ، سيكون من الحماقة تقليمها - لماذا يسقط أداء التطبيق بدون مبرر عندما تكون الذاكرة وفيرة؟ - David Schwartz
واو حتى الناس لا يحبون إجابة ... هل لدى أي شخص أي دليل على عكس ذلك؟ الطريقة التي أراها Kinokijuf لديها بالفعل بعض الأدلة ، يا رفاق يقولون أنه لا ينطبق على ويندوز 7 و vista ولكن لا تقدم أي مصدر ... يا رفاق لا حتى اختباره: \ مجموعة العمل والذاكرة المخصصة هما شيئان مختلفان . مستكشف العمليات هو الطريقة الوحيدة لاختبار هذا. - Not Kyle stop stalking me
يبدو من الجدير بالذكر أن تقليل استخدام موارد النظام أمر بسيط: ففي المثال المعطى ، من خلال تقليل التطبيق ، يتم تقليل مجموعة العمل بنسبة 1.2٪ فقط. - bgvaughan
لاحظ عدم وجود Win32 devs في هذا الموضوع تعليق. هناك عدد من أحداث Win32 تخطي التطبيقات المصغرة. حتى لو لم يكن هناك وفورات في الذاكرة ملحوظ ، هناك بالتأكيد توفير استخدام CPU. - surfasb


نعم و لا. سيستخدمون موارد أقل على وحدة معالجة الرسومات - أقل حاجة لتحديث الشاشة - ولكن ليس على ذاكرة النظام الرئيسية أو وحدة المعالجة المركزية.

حجم مجموعة العمل الموضحة في مدير المهام هو ليس كمية الذاكرة الفعلية التي يستهلكها التطبيق. إنه أكثر من الحد الأقصى الذي يمكن استخدامه في وقت معين.

إذا طلب تطبيق آخر الذاكرة المخصصة لمجموعة العمل الخاصة بالعملية الواحدة والتي لا تكون قيد الاستخدام ، فيمكن خفض هذا الرقم دون تغيير كمية الذاكرة التي يستخدمها التطبيق بالفعل.


27
2017-12-05 20:57



أنا حقا أكره إقتراحات التصويت لكن هذا خطأ فقط ... إذا سألتني قبل 10 دقائق كنت أعتقد أنك كنت على حق. - Not Kyle stop stalking me
Lieven الخط الإهمال ، بالنسبة لي على الأقل ، ولماذا تقف downvote: "سوف يستخدمون موارد أقل على GPU الخاص بك - أقل حاجة لتحديثات الشاشة - ولكن ليس على ذاكرة النظام الرئيسية أو وحدة المعالجة المركزية الخاصة بك." يوضح السؤال صراحةً: "هل يستخدمون ذاكرة أقل ووحدة معالجة مركزية أقل من تركهم مكبزين" وهو الجواب ، وفقًا لمايكروسوفت على الأقل (وسأثق بـ MS هنا لأنهم قاموا بكتابتها) ، نعم إنها تستخدم موارد أقل. لا يسأل أي شيء عن أداء التطبيق أثناء التقليل ، فقط إذا كان سيستخدم موارد أقل. - Not Kyle stop stalking me
Kyle هذا المقال KB 5 سنوات من العمر. لا ينطبق على أنظمة إدارة الذاكرة الحديثة. (وإذا رأيت تعليقي على إجابة kinokijuf ، فسوف ترى السبب في أنها فكرة سيئة في المقام الأول - باستثناء أنظمة التشغيل التي لا يمكنها تتبع تكرار استخدام الصفحة.) - David Schwartz
تشير الحواشي السفلية إلى أنها تفاح لـ NT4 و 2000 و XP. أشك في أن أي شيء قد تغير منذ ذلك الحين. - kinokijuf
ويمكنني أن أؤكد على جهاز فيستا الخاص بي (مع Process Explorer) أن مجموعة العمل لا تزال تتراجع. - kinokijuf


"مجموعة العمل" ليست هي نفسها "استخدام الذاكرة"

إذا احتاج أحد البرامج إلى جزء من الذاكرة ، فستحتاج إليه دائمًا. إذا لم يحدث ذلك ، فهو لا يفعل ذلك. لا يؤدي تصغير البرنامج فجأة إلى جعل البرنامج "لا يتطلب" الذاكرة. "التشذيب" مجموعة العمل هو ببساطة الاستدعاء الذاكرة من ذاكرة جسدية على أسطوانةأو ببساطة إزالة الصفحة إذا كانت متوفرة في مكان آخر على القرص. (في الحالة الأخيرة ، يقوم نظام التشغيل بذلك على أي حال إذا كان هناك نقص في الذاكرة ، لذلك فهي مجرد مشكلة التخزين المؤقت ، وليس قضية "الاستخدام". وفي كلتا الحالتين ، ليس تقليل ما يستخدمه البرنامج ؛ انها مجرد ينقل البيانات في مكان آخر.

ومع ذلك ، فيما يتعلق باستخدام وحدة المعالجة المركزية: هناك شيء يسمى تعزيز الأولوية التي قدمها نظام التشغيل في ظروف معينة ، والتي يمكن أن تسبب في الواقع تطبيق الأمامي لاستخدام المزيد من وحدة المعالجة المركزية. نرى هنا للتفاصيل.


12
2017-12-08 06:45





يعتمد الأمر على التطبيق الذي تتحدث عنه والطريقة التي يتم بها ترميز التطبيق. ومع ذلك ، من أجل المقارنة ، دعنا نقول أن البرنامج مشفر بطريقة أنه سيتم تشغيل نفس الوظائف عند التكبير والحد الأدنى.

لذلك نتوقع أن يستخدم البرنامج نفس المقدار من وحدة المعالجة المركزية عند التقليل إلى أدنى حد إذا تم استدعاء نفس الوظائف الأساسية بواسطة التطبيق.

ومع ذلك ، فإن عمليات النظام الخاصة بك ستستخدم بالتأكيد وحدة معالجة مركزية أقل عندما يتم تصغير البرامج حيث سيكون هناك رسومات أقل ليتم عرضها للعرض ، وربما الآن مجرد رمز علبة النظام.

هذا ما لم يكن عند التقليل من التطبيق الذي يؤدي إلى عرض تطبيق رسومي أكثر وبالتالي عرضه بدلاً من ذلك ، الآن يمكن أن يزيد الحمل CPU بسبب تحميل العمل الرسومات الإضافية.

كل شيء في جميع التغييرات التي نتحدث عنها هنا ربما لن تكون مهملة ما لم تكن على آلة المواصفات منخفضة جدا.


4
2017-12-05 21:04



-1 ، للاهتياج. لأية مقارنات كان عليك دائما أن تفترضها مع ثبات العوامل - Lie Ryan
لم أدرك أن الافتراض كان شيئًا سيئًا عندما تم توضيحه وتغطية كلا الاحتمالات. - iTom
بعض الافتراضات ليست ذات صلة ، وبالتالي لا فائدة منها ، حتى لو تم توضيحها. إذا تمت كتابة البرنامج بطريقة تؤدي إلى إنهاء البرنامج إلى الحد الأدنى ، فمن الواضح أن هذا يجعل الكمبيوتر يستخدم موارد أقل بكثير ؛ هذا الافتراض عديم الفائدة تماما للمناقشة. - Lie Ryan


نادرا. بالنسبة للبرنامج التفاعلي الذي يتعرف على وقت تصغيره ، نعم سيستخدم طاقة أقل في وحدة المعالجة المركزية. بالنسبة إلى برامج مثل Microsoft Word ، لن يكون هناك نقص في استخدام وحدة المعالجة المركزية (CPU).

بالنسبة لتطبيقات الرسومات المكثفة (مثال: World of Warcraft أو Call of Duty 3) ، سيكون هناك انخفاض كبير في استخدام وحدة معالجة الرسومات (GPU).


1
2017-12-05 20:57



لا يحتاج برنامج تفاعلي إلى "التعرف عندما يكون مصغرًا" لاستخدام وحدة معالجة مركزية أقل نظرًا لعدم وجود رسائل نافذة على لوحة المفاتيح / الماوس للرد عليها. - Random832
@ Random832 لست متأكدًا مما تقصده تمامًا ، إلا أنني كنت أقصد أن أنقل نوع البرنامج (مثل اللعبة) الذي يتوقف مؤقتًا عندما يفقد التركيز. تستخدم هذه الألعاب بشكل عام طاقة أقل في وحدة المعالجة المركزية عند التقليل إلى أدنى حد. - wizlog


يمكنني القول أنه يستخدم موارد أقل لأنه لا يقوم بتحديث الإطار الخاص به.

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


1
2017-12-06 10:30





في حين أنه غير متوفر في Windows 7 على حد علمي ، في Windows 8 ، يتم تعليق البرامج المصغرة.


0
2017-12-08 06:32



هل هذا للبرامج الكلاسيكية أيضًا؟ من الضروري للمترو حيث لا يمكنك إغلاق البرنامج بالفعل - Journeyman Geek♦
نعم ، على الأقل هذا ما رأيته في النسخة التجريبية. (على سبيل المثال ، كان يستخدم متصفح الإنترنت ، الإصدار غير المترو) - soandos
الأفضل أن تنتظر حتى يتم إصدار Win8 بدلاً من المضاربة على ما قد أو قد لا يتم ترحيلها من beta مبكر جدًا. - Jeff Atwood
حسنا ، جزء التعليق لتطبيقات المترو لا يمكن أن يذهب بعيدا ، لذلك سأكون واثقا نسبيا في بقية نظام التعليق البقاء في مكانه. وهو أيضا جزء من نظام win7 الحالي ، على الرغم من أنها ليست تلقائية. - soandos