سؤال

عند تصميم أي تطبيقات لسطح المكتب، هل هناك أي قواعد عامة حول مقدار الذاكرة التي يجب أن يستخدمها التطبيق؟

بالنسبة للتطبيقات ذات الوزن الثقيل، يمكن فهمها بسهولة أو على الأقل تعريفها مثل Firefox أو Google Chrome.ولكن بالنسبة للأدوات المساعدة الأصغر حجمًا أو تطبيقات خط الأعمال، ما هو المقدار المقبول من استخدام الذاكرة؟

لقد سألت لأنني صادفت مؤخرًا مقايضة بين استخدام الذاكرة والأداء وأتساءل عما إذا كان هناك أي إجماع عام بشأن ذلك؟

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

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

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

هل كانت مفيدة؟

المحلول

لا توجد إجابة مطلقة لهذا.ذلك يعتمد على الكثير من المتغيرات.

وفيما يلي بعض المقايضات للنظر فيها:

  • ما الجهاز/المنصة التي تقوم بالتطوير لها؟
  • هل تتوقع أن يستخدم المستخدم هذا البرنامج باعتباره الغرض الرئيسي لجهاز الكمبيوتر الخاص به (على سبيل المثال، ربما تقوم بتطوير نوع ما من برامج الخادم)
  • من هو جمهورك المستهدف، المستخدمين المنزليين؟مستخدمي السلطة؟
  • هل تضع توقعات واقعية بشأن حجم ذاكرة الوصول العشوائي (RAM) التي سيحصل عليها المستخدم؟
  • هل تأخذ في الاعتبار أن المستخدم سيستخدم الكثير من البرامج الأخرى على هذا الكمبيوتر أيضًا؟

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

أوصي عمومًا باستخدام المزيد من ذاكرة الوصول العشوائي للحصول على سرعة أفضل إذا لزم الأمر.ولكن فقط إذا كانت متطلبات ذاكرة الوصول العشوائي (RAM) واقعية لجمهورك المستهدف.على سبيل المثال، إذا كنت تتوقع أن يستخدم مستخدم منزلي لديه ذاكرة وصول عشوائي (RAM) سعة 1 جيجابايت برنامجك، فلا تستخدم 600 ميجابايت من ذاكرة الوصول العشوائي (RAM) بنفسك.

فكر في استخدام المزيد من ذاكرة الوصول العشوائي (RAM) في هذه الحالة للحصول على سرعة أفضل، ولتحسين جزء آخر من التعليمات البرمجية الخاصة بك لاستخدام ذاكرة وصول عشوائي (RAM) أقل.

يحرر:

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

نصائح أخرى

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

يعد Hear أحد الأمثلة على استطلاع يوضح توزيع ذاكرة الوصول العشوائي المثبتة في أنظمة الأشخاص الذين يلعبون الألعاب عبر Steam (المصدر: الصمام - بيانات ملخص المسح):

  • أقل من 96 ميجابايت 0.01%
  • 96 ميجا بايت إلى 127 ميجا بايت 0.01%
  • 128 ميجا بايت إلى 255 ميجا بايت 0.21%
  • 256 ميجابايت إلى 511 ميجابايت 5.33%
  • 512 ميجابايت إلى 999 ميجابايت 19.81%
  • 1 جيجا بايت إلى 1.49 جيجا بايت 30.16%
  • 1.5 جيجا بايت إلى 1.99 جيجا بايت 6.10%
  • 2.0 جيجا 38.37%

الاستنتاج الذي أود استخلاصه من استطلاع مثل هذا في مجالي (ألعاب الكمبيوتر) هو أنني أتوقع بشكل معقول أن يكون لدى جميع مستخدمينا تقريبًا 512 ميجابايت أو أكثر، والأغلبية العظمى لديهم 1 جيجابايت أو أكثر.بالنسبة إلى لعبة كمبيوتر من المفترض أن يتم تشغيلها بشكل حصري، فهذا يعني أن مجموعة العمل التي يبلغ حجمها حوالي 400 ميجابايت آمنة إلى حد ما ولن تحد من خروج أي شخص تقريبًا، وإذا كانت توفر قيمة مضافة كبيرة للمنتج، فقد يكون من المنطقي أن يكون لديك مجموعة عمل حوالي 800 ميجابايت.

هذا يعتمد على أجهزة الكمبيوتر المستهدفة لديك.إذا كان تطبيقك يستخدم قدرًا كبيرًا من الذاكرة، فسيكون بطيئًا أثناء صفحات Windows.امتحان!جرب كلا الخيارين في التسوية الخاصة بك، وبعضها بينهما إذا كان ذلك منطقيًا.قم بإجراء الاختبارات على جهاز نموذجي قد يستخدمه المستخدمون لديك مع فتح عدد معقول من التطبيقات الأخرى.لذلك بالنسبة لمعظم الأشخاص، يكون هذا هو Outlook وربما يكون مثيلًا أو 2 من Internet Explorer (أو عميل/متصفح البريد الذي تختاره).أنا أعمل في مؤسسة حيث من المحتمل أيضًا أن يتم استخدام تطبيقي لتشغيل بعض التطبيقات المخصصة الأخرى، لذلك نقوم باختبار تلك التطبيقات التي تعمل أيضًا.لقد وجدنا أن تطبيقنا يستخدم قدرًا كبيرًا من الذاكرة، ويجعل تبديل التطبيق بطيئًا بشكل مؤلم، لذلك قمنا بإبطاء تطبيقنا قليلاً لتقليل استخدام الذاكرة.إذا كنت مهتمًا، فإن أجهزتنا المستهدفة كانت في الأصل أجهزة بسعة 512 ميجابايت لأن هذا هو ما كانت عليه محطة العمل ذات المواصفات القياسية المشتركة لدينا.كان لا بد من ترقية العديد من أجهزة الكمبيوتر الشخصية إلى 1 جيجا بايت بسبب هذا التطبيق.لقد قمنا الآن بتقليص استخدام ذاكرة الوصول العشوائي الخاصة به قليلاً ولكنه مكتوب بلغة VB .NET ويبدو أن معظم الذاكرة المستخدمة هي إطار العمل.يقول PerfMon أن العملية تستخدم حوالي 200 ميجابايت (الذروة) ولكن الكومة المُدارة تبلغ حوالي 2 ميجابايت فقط!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top