【问题标题】:Does MemoryDC occupied memory or the memory on video card?MemoryDC是占用内存还是显卡内存?
【发布时间】:2010-11-16 07:09:35
【问题描述】:

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

【问题讨论】:

    标签: c++ mfc cdc cbitmap


    【解决方案1】:

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

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

    你的极限是多少?

    【讨论】:

      猜你喜欢
      • 2011-05-03
      • 2019-08-20
      • 2016-02-25
      • 2016-03-05
      • 2011-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多