استخدام ذاكرة SDL الغريب اعتمادًا على البتات لكل بكسل

StackOverflow https://stackoverflow.com/questions/1960543

  •  21-09-2019
  •  | 
  •  

سؤال

لديّ برنامج SDL بسيط للغاية يستخدم 1 ميجابايت فقط من الذاكرة مع 32 بت لكل بكسل ، 2.4 ميجابايت مع 24 بت لكل بكسل ، 1.9 ميجابايت مع 16 بت لكل بكسل ، و 1.4 ميجابايت مع 8 بت لكل بكسل. ما هو مع هذا الاستخدام الغريب للذاكرة؟ لماذا تأخذ معظم البتات لكل بكسل أقل قدر من الذاكرة؟

C ++ GCC

شكرًا

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

المحلول

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

لكن النظر إلى عملية في Top أو Task Manager قد لا يكون أفضل طريقة للتعامل مع ما يستخدم الذاكرة. إذا كنت في نظام Linux ، يمكنك تجربة أداة مثل Valgrind للحصول على فكرة جيدة جدًا عن المكان الذي تسير فيه الذاكرة.

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