MemoryDC是占用内存还是视频卡上的内存?

时间:2009-08-03 06:59:12

标签: c++ mfc cdc cbitmap

我使用以下代码创建兼容的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很大时它会得到不好的结果。 (有足够的记忆)。 有人说它在视频卡上使用内存。是真的吗我不是很确定。

1 个答案:

答案 0 :(得分:3)

CreateCompatibleBitmap中的内存在32位版本的Windows上从系统范围的池typically limited分配到大约200兆字节。

Since WinNT4.0 CreateBitmap()API在内核模式分页内存中分配位图。在WinNT4中,无法创建大于48 MB的位图。

你的限制是什么?