D3DCREATE
デバイス作成の動作を制御する 1 つまたは複数のフラグの組み合わせです。
#define | 説明 |
---|---|
D3DCREATE_ADAPTERGROUP_DEVICE | 該当するマスター アダプターが所有するすべてのヘッドを駆動するよう、アプリケーションがデバイスに指示します。このフラグは、マスター以外のアダプターでは指定できません。このフラグを設定する場合、IDirect3D9::CreateDevice に渡すプレゼンテーション パラメーターでは、D3DPRESENT_PARAMETERS の配列をポイントします。D3DPRESENT_PARAMETERS の要素の数は、D3DCAPS9 構造体の NumberOfAdaptersInGroup メンバーによって定義されるアダプターの数に等しくなければなりません。DirectX ランタイムは、D3DCAPS9 の AdapterOrdinalInGroup メンバーによって指定される番号順に、各要素を各ヘッドに割り当てます。 |
D3DCREATE_DISABLE_DRIVER_MANAGEMENT | Direct3D が、ドライバーの代わりにリソースを管理します。Direct3D の呼び出しは、ビデオ メモリーが不十分のようなリソース エラーで失敗することがありません。 |
D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX | D3DCREATE_DISABLE_DRIVER_MANAGEMENT のように、Direct3D はドライバーの代わりにリソースを管理します。ただし、D3DCREATE_DISABLE_DRIVER_MANAGEMENT の場合とは異なり、D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX はビデオ メモリーが不十分のような状態の場合、エラーを返します。 |
D3DCREATE_DISABLE_PRINTSCREEN | デスクトップまたはウィンドウの内容を取得するための PrintScreen キー、Ctrl + PrintScreen キー、および Alt + PrintScreen キーのホットキーを、ランタイムが登録しません。
Direct3D 9 と Direct3D 9Ex の違い このフラグは Direct3D 9Ex でのみ使用できます。
|
D3DCREATE_DISABLE_PSGP_THREADING | 演算がアプリケーションのメイン スレッドに制限されます。このフラグを設定しないと、ランタイムはマルチプロセッサ システムのパフォーマンスを改善するために、ソフトウェアによる頂点処理などの計算をワーカー スレッドで実行することができます。
Windows XP と Windows Vista の相違: このフラグは Windows Vista、Windows Server 2008、および Windows 7 で使用できます。
|
D3DCREATE_ENABLE_PRESENTSTATS | デバイス上での表示の統計情報の収集が可能になります。IDirect3DSwapChain9Ex::GetPresentStatistics に対する呼び出しからは、有効なデータが返されます。
Direct3D 9 と Direct3D 9Ex の違い このフラグは Direct3D 9Ex でのみ使用できます。
|
D3DCREATE_FPU_PRESERVE | Direct3D の浮動小数点計算の精度に、呼び出し元スレッドが使用する精度が設定されます。このフラグを指定しなかった場合は、以下の 2 つの理由により、最も近い値に丸める単精度モードが Direct3D の既定値になります。
|
D3DCREATE_HARDWARE_VERTEXPROCESSING | ハードウェアによる頂点処理を指定します。 |
D3DCREATE_MIXED_VERTEXPROCESSING | (ソフトウェアおよびハードウェアによる) ミックスの頂点処理を指定します。 |
D3DCREATE_MULTITHREADED | アプリケーションから Direct3D にマルチスレッドでの安全な動作を要求することを示します。これにより、Direct3D スレッドはグローバルな クリティカル セクション を所有する頻度が増え、パフォーマンスが低下する可能性があります。1 つのスレッドで Direct3D API を呼び出し、別のスレッドでウィンドウ メッセージを処理するアプリケーションでは、デバイスの作成時にこのフラグを使用する必要があります。また、このウィンドウは、d3d9.dll をアンロードする前に破棄する必要があります。 |
D3DCREATE_NOWINDOWCHANGES | フォーカス ウィンドウを変更してはならないことを Direct3D に指示します。
注 このフラグが設定されている場合、アプリケーションでは Alt + Tab キーやマウスのクリック イベントのようなすべてのフォーカス管理イベントをサポートする必要があります。 |
D3DCREATE_PUREDEVICE | 状態ブロックに格納できるすべてのものに対して Direct3D が Get* 呼び出しをサポートしないことを指定します。また、このフラグにより、Direct3D は頂点処理のエミュレーション サービスもサポートしません。つまり、デバイスが頂点処理をサポートしない場合、アプリケーションではトランスフォーム後の頂点しか使用することができません。 |
D3DCREATE_SCREENSAVER | 全画面アプリケーションの際、スクリーンセーバーが許可されます。このフラグを設定しないと、Direct3D は呼び出し元のアプリケーションが全画面である期間、スクリーンセーバーを無効にします。呼び出し元のアプリケーションが既にスクリーンセーバーである場合は、このフラグを設定しても何も実行されません。
Direct3D 9 と Direct3D 9Ex の違い このフラグは Direct3D 9Ex でのみ使用できます。
|
D3DCREATE_SOFTWARE_VERTEXPROCESSING | ソフトウェアによる頂点処理を指定します。 |
D3DCREATE_HARDWARE_VERTEXPROCESSING、D3DCREATE_MIXED_VERTEXPROCESSING、および D3DCREATE_SOFTWARE_VERTEXPROCESSING は、同時指定できないフラグです。IDirect3D9::CreateDevice を呼び出す際は、これらの頂点処理フラグを少なくとも 1 つ指定する必要があります。
定数情報
ヘッダー | D3D9.h |
最低限必要なオペレーティング システム | Windows 98 |