ID3DX11Effect::Optimize メソッド
効果に必要なメモリの量を最小限に抑えます。
構文
HRESULT Optimize();
パラメーター
このメソッドにはパラメーターはありません。
戻り値
型: HRESULT
次のいずれかの Direct3D 11 リターン コードを返します。
注釈
効果では、ランタイムが効果を実行するために必要な情報を格納し、API を使用してアプリケーションに情報を反映するために必要なメタデータを格納する 2 つの異なる方法でメモリ領域を使用します。 メモリからリフレクション メタデータを削除する ID3DX11Effect::Optimize を 呼び出すことで、効果に必要なメモリの量を最小限に抑えることができます。 リフレクション データが削除されると、変数を読み取る API メソッドは機能しなくなります。
次のメソッドは、効果に対して Optimize が呼び出された後に失敗します。
- ID3DX11Effect::GetConstantBufferByIndex
- ID3DX11Effect::GetConstantBufferByName
- ID3DX11Effect::GetDesc
- ID3DX11Effect::GetDevice
- ID3DX11Effect::GetTechniqueByIndex
- ID3DX11Effect::GetTechniqueByName
- ID3DX11Effect::GetVariableByIndex
- ID3DX11Effect::GetVariableByName
- ID3DX11Effect::GetVariableBySemantic
注意
ID3DX11Effect::Optimize を呼び出す前にこれらのメソッドで取得された参照は、ID3DX11Effect::Optimize が呼び出された後も有効です。 これにより、アプリケーションはすべての変数、手法を取得し、使用するパスを取得し、Optimize を呼び出して、効果を使用できます。
注意
DirectX SDK では、エフェクト用のコンパイル済みバイナリは提供されません。 効果の種類のアプリケーションをビルドするには、Effects 11 ソースを使用する必要があります。 効果 11 ソースの使用方法の詳細については、「効果 10 と効果 11 の違い」を参照してください。
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|