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 のメモリは、通常32ビットバージョンのWindowsでは約200メガバイトに制限

WinNT4.0以降 CreateBitmap()APIは、カーネルモードのページメモリにビットマップを割り当てます。 WinNT4では、48 MBを超えるビットマップを作成することはできませんでした。

限界は何ですか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top