ID3DX11Effect::Optimize 方法
將效果所需的記憶體數量降到最低。
語法
HRESULT Optimize();
參數
這個方法沒有任何參數。
傳回值
類型: HRESULT
傳回下列其中一個 Direct3D 11 傳回碼。
備註
效果會使用記憶體空間兩種不同的方式:儲存執行時間執行效果所需的資訊,以及儲存使用 API 將資訊反映回應用程式所需的中繼資料。 您可以藉由呼叫 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 來源來建置效果類型應用程式。 如需使用 Effects 11 來源的詳細資訊,請參閱 效果 10 與效果 11 之間的差異。
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|