次の方法で共有


D3DCREATE

デバイスの作成動作を制御する 1 つ以上のフラグの組み合わせ。

#define 形容
D3DCREATE_ADAPTERGROUP_DEVICE アプリケーションは、このマスター アダプターが所有するすべてのヘッドを駆動するようにデバイスに要求します。 非マスター アダプターではフラグが無効です。 このフラグが設定されている場合、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 デバイス上の現在の統計情報の収集を有効にします。 GetPresentStatistics呼び出すと、有効なデータが返されます。
Direct3D 9 と Direct3D 9Ex の違い:
このフラグは Direct3D 9Ex でのみ使用できます。

 

D3DCREATE_FPU_PRESERVE Direct3D 浮動小数点計算の有効桁数を、呼び出し元のスレッドで使用される有効桁数に設定します。 このフラグを指定しない場合、Direct3D の既定値は、次の 2 つの理由で単精度の最も近い丸めモードになります。
  • 倍精度モードでは、Direct3D のパフォーマンスが低下します。
  • Direct3D の一部では、浮動小数点ユニットの例外がマスクされていると見なされます。これらの例外のマスクを解除すると、未定義の動作が発生する可能性があります。
D3DCREATE_HARDWARE_VERTEXPROCESSING ハードウェア頂点処理を指定します。
D3DCREATE_MIXED_VERTEXPROCESSING 混合 (ソフトウェアとハードウェアの両方) 頂点処理を指定します。 Windows 10 バージョン 1607 以降では、この設定の使用はお勧めしません。 D3DCREATE_SOFTWARE_VERTEXPROCESSINGを参照してください。
D3DCREATE_SOFTWARE_VERTEXPROCESSING ソフトウェア頂点処理を指定します。 Windows 10 バージョン 1607 以降では、この設定の使用はお勧めしません。 D3DCREATE_HARDWARE_VERTEXPROCESSINGを使用します。

注:
ハードウェア頂点処理が使用できない場合を除き、ソフトウェア頂点処理の使用は、Windows 10 バージョン 1607 (以降のバージョン) では推奨されません。これは、実装のセキュリティを向上させながら、ソフトウェア頂点処理の効率が大幅に低下したためです。

 
D3DCREATE_MULTITHREADED アプリケーションが Direct3D にマルチスレッド セーフを要求することを示します。 これにより、Direct3D スレッドがグローバル クリティカル セクションの所有権を取得 頻度が高くなり、パフォーマンスが低下する可能性があります。 アプリケーションが別のスレッドで Direct3D API 呼び出しを行っている間にウィンドウ メッセージを処理する場合、アプリケーションはデバイスの作成時にこのフラグを使用する必要があります。 このウィンドウは、d3d9.dllアンロードする前に破棄する必要もあります。
D3DCREATE_NOWINDOWCHANGES Direct3D がフォーカス ウィンドウを何らかの方法で変更してはならないことを示します。

注:
このフラグが設定されている場合、アプリケーションは、Alt + TAB やマウス クリック イベントなど、すべてのフォーカス管理イベントを完全にサポートする必要があります。

 
D3DCREATE_PUREDEVICE Direct3D が、状態ブロックに格納できるすべての Get* 呼び出しをサポートしないことを指定します。 また、頂点処理用のエミュレーション サービスを提供しないように Direct3D に指示します。 つまり、デバイスが頂点処理をサポートしていない場合、アプリケーションは変換後の頂点のみを使用できます。
D3DCREATE_SCREENSAVER 全画面表示アプリケーション中のスクリーンセーバーを許可します。 このフラグがない場合、Direct3D は、呼び出し元のアプリケーションが全画面表示である限り、スクリーン セーバーを無効にします。 呼び出し元のアプリケーションが既にスクリーン セーバーである場合、このフラグは無効です。
Direct3D 9 と Direct3D 9Ex の違い:
このフラグは Direct3D 9Ex でのみ使用できます。

 

 

D3DCREATE_HARDWARE_VERTEXPROCESSING、D3DCREATE_MIXED_VERTEXPROCESSING、およびD3DCREATE_SOFTWARE_VERTEXPROCESSINGは相互に排他的なフラグです。 CreateDeviceを呼び出すときに、これらの頂点処理フラグ少なくとも 1 つを指定する必要があります。

定数情報

要件 価値
ヘッダ D3D9.h
最小オペレーティング システム Windows 98

 

Direct3D 定数 する