ID3D11Device2::CreateDeferredCoNtext2 方法 (d3d11_2.h)
建立可記錄 命令清單的延後內容。
語法
HRESULT CreateDeferredContext2(
UINT ContextFlags,
[out, optional] ID3D11DeviceContext2 **ppDeferredContext
);
參數
ContextFlags
類型: UINT
保留供未來使用。 傳遞 0。
[out, optional] ppDeferredContext
類型: ID3D11DeviceCoNtext2**
完成方法時,會將傳遞給 ID3D11DeviceCoNtext2 介面指標的指標初始化。
傳回值
類型: HRESULT
如果成功,則傳回S_OK;否則,傳回下列其中一項:
- 如果已從系統實際移除視訊卡,或發生視訊卡的驅動程式升級,則傳回 DXGI_ERROR_DEVICE_REMOVED 。 如果發生此錯誤,您應該終結並重新建立裝置。
- 如果無法從目前內容呼叫CreateDeferredCoNtext2方法,則傳回DXGI_ERROR_INVALID_CALL。 例如,如果裝置是以 D3D11_CREATE_DEVICE_SINGLETHREADED 值建立, CreateDeferredCoNtext2 會傳回 DXGI_ERROR_INVALID_CALL。
- 如果CoNtextFlags參數無效,則傳回E_INVALIDARG。
- 如果應用程式已用盡可用記憶體,則傳回 E_OUTOFMEMORY 。
備註
延後的內容是安全線程的內容,可用來在主轉譯執行緒以外的執行緒上記錄圖形命令。 藉由使用延後的內容,您可以將圖形命令記錄到 ID3D11CommandList 介面所封裝的命令清單中。 錄製所有場景專案之後,您就可以將它們提交至主要轉譯執行緒以進行最終轉譯。 如此一來,您可以跨多個執行緒同時執行轉譯工作,並可能改善多核心 CPU 案例中的效能。
您可以建立多個延後的內容。
注意 如果您使用 D3D11_CREATE_DEVICE_SINGLETHREADED 值來建立裝置, CreateDeferredCoNtext2 會因為 DXGI_ERROR_INVALID_CALL而失敗,而且您無法建立延後的內容。
規格需求
最低支援的用戶端 | Windows 8.1 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2012 R2 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | d3d11_2.h |
程式庫 | D3D11.lib |
另請參閱
ID3D11Device1::CreateDeferredCoNtext1