سؤال

هذه هي "لعبة" الأولى التي أعمل عليها في C ++ باستخدام OpenGL للرسومات و SDL للتطبيق. يبدو أن التعليمات البرمجية الخاصة بي تعمل لأنني قادر على إنشاء نافذة تطبيق وظيفية وتحميلها بالكامل ورسم نسيج مع مكتبة نسيج الشيطان. تنشأ المشكلة في وقت التشغيل. يستخدم استخدام الذاكرة ، وفقًا لمدير Task Windows ، حوالي 13900 ولكن ينمو بشكل مطرد إلى حوالي 15000 بعد 4 دقائق أو نحو ذلك ثم يتوقف. هل هذا طبيعي؟ هل Windows Task Manager طريقة غير دقيقة لعرض الذاكرة؟

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

المحلول

يمكن أن تكون بعض تسرب الذاكرة في الكود الخاص بك ، أي المؤشرات غير المحررة .. etc ...

على Linux ، كنت أستخدم Valgrind للتحقق من ذلك في وقت التشغيل. لست متأكدًا من ما هو المكافئ لنظام التشغيل Windows. هذه بريد يجب أن توجهك في الاتجاه الصحيح لإيجاد أداة مكافئة

هتافات

نصائح أخرى

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

لقد استخدمت حزمة MMGR من http://www.fluidstudios.com/ قبل تتبع استخدام ذاكرتي. في الأساس ، يتيح لك تفريغ معلومات رائعة عن جميع المخصصات في برنامجك ، حتى تتمكن من تتبع الإطار إلى الإطار لمعرفة ما يجري.

حظا طيبا وفقك الله.

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