GDIPlusで使用CachedBitmapsする場合、Windows ビデオの「ハードウェア アクセラレーション」を下げすぎると、DirectDrawが無効になるなど、グラフィックの破損が発生します。
ハードウェア アクセラレーションには 6 つのレベルがあります。
- すべての加速を無効にする
- 基本的なアクセラレーションを除くすべてを無効にします。(サーバーマシンのデフォルト)
- すべての DirectDraw と Direct3D アクセラレーション、およびすべてのカーソルと高度なアクセラレーションを無効にする
- すべてのカーソルと高度な描画アクセラレーションを無効にする
- カーソルとビットマップの加速を無効にする
- すべてのアクセラレーションが有効になっています (デスクトップマシンのデフォルト)
DirectDraw が無効になっている場合DrawCachedBitmap、GDI+ で使用するとグラフィックが破損します。DrawImage()DirectDraw が有効になっていない場合、低速の API を使用するのは簡単ですが、DirectDraw が無効になっていることを検出できるようにする必要があります。
DirectDrawが有効になっているかどうかをプログラムで確認するにはどうすればよいですか?
問題は、dxdiag がこれをどのように行うかです。

