D3D11_CREATE_DEVICE_FLAG
デバイスの作成で使用するパラメーターを記述します。
typedef enum D3D11_CREATE_DEVICE_FLAG
{
D3D11_CREATE_DEVICE_SINGLETHREADED = 0x1,
D3D11_CREATE_DEVICE_DEBUG = 0x2,
D3D11_CREATE_DEVICE_SWITCH_TO_REF = 0x4,
D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8,
D3D11_CREATE_DEVICE_BGRA_SUPPORT = 0x20,
} D3D11_CREATE_DEVICE_FLAG;
定数
- D3D11_CREATE_DEVICE_SINGLETHREADED
このフラグは、アプリケーションが D3D11 を単一のスレッドからのみ呼び出す場合に使用します。このフラグを指定しない場合、API 呼び出しのたびに D3D11 は既定でロック状態となり、複数のスレッドによる内部ステートの変更を防ぎます。このフラグを使用するとロックがかからないので、パフォーマンスが若干向上しますが、D3D11 を複数のスレッドから呼び出したときの動作が不定になります。 - D3D11_CREATE_DEVICE_DEBUG
デバッグ レイヤーをサポートするデバイスを作成します。 - D3D11_CREATE_DEVICE_SWITCH_TO_REF
デバイスのソフトウェア (REF) バージョンおよびハードウェア (HAL) バージョンの両方を同時に作成します。これによって、アプリケーションはリファレンス デバイスに切り替えて、デバッグ処理を有効にすることができます。 - D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS
複数のスレッドが作成されないようにします。WARP デバイスでこのフラグを使用すると、WARP ではそれ以上スレッドが作成されなくなるので、すべてのラスター化が呼び出し元スレッドで実行されます。このフラグは一般用途にはお勧めしません。「解説」を参照してください。 - D3D11_CREATE_DEVICE_BGRA_SUPPORT
Direct3D リソースとの相互運用性を Direct2D で実現するために必要です。
解説
デバイス作成フラグは D3D11CreateDevice および D3D11CreateDeviceAndSwapChain によって使用されます。
アプリケーションはスレッドを動的に作成 (および破棄) することにより、特に複数の CPU コアを搭載したコンピューターでパフォーマンスの向上を図ることができます。ただし、アプリケーションで過剰な数のスレッドを作成しないようにすることが必要な場合もあります。たとえば、デバッグの容易化、コードのプロファイル、ツールの開発が必要な場合です。このような場合、D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS を使用して、アプリケーションと干渉する可能性のある余分なスレッドをランタイムおよびビデオ ドライバーが作成しないことを指定します。
要件
ヘッダー: D3D11.h 宣言
ライブラリ: D3D11.lib 内容