هل المحتلة MemoryDC الذاكرة أو الذاكرة على بطاقة الفيديو؟

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

  •  10-07-2019
  •  | 
  •  

سؤال

وأنا باستخدام التعليمات البرمجية التالية إلى إنشاء DC متوافق:

m_pDC=new CDC();
VERIFY(m_pDC->CreateCompatibleDC(sampleDC);
CBitmap bitmap; 
if (bitmap.CreateCompatibleBitmap(sampleDC, rect.Width(), rect.Height()))
{
   m_pOldBitmap = m_pDC->SelectObject(&bitmap);
}

وسؤالي هو: هل المحتلة CDC CBitmap الذاكرة؟ إذا كان استخدام الذاكرة، فلماذا الحصول على نتيجة سيئة عندما rect.width وrect.height تكون كبيرة. (هناك ذاكرة كافية). قال أحدهم أنه يستخدم الذاكرة على بطاقة الفيديو. هل هذا صحيح. ولست متأكدا جدا حول هذا الموضوع.

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

المحلول

يتم تخصيص الذاكرة في CreateCompatibleBitmap من بين مجموعة واسعة النظام الذي هو <وأ href = "http://blogs.technet.com/markrussinovich/archive/2009/03/26/3211216.aspx" يختلط = "نوفولو noreferrer" > تقتصر عادة لحوالي 200 ميغابايت على إصدارات 32 بت من نظام التشغيل Windows.

منذ WinNT4.0 CreateBitmap () API يخصص الصورة النقطية في مقسم إلى صفحات وضع kernel الذاكرة . في WinNT4 كان من المستحيل إنشاء الصور النقطية أكبر من 48 MB.

وماذا كان الحد الخاص بك؟

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