ID3D11Device1::CreateDeferredCoNtext1 方法 (d3d11_1.h)

建立可記錄命令清單的延後內容。

語法

HRESULT CreateDeferredContext1(
                  UINT                 ContextFlags,
  [out, optional] ID3D11DeviceContext1 **ppDeferredContext
);

參數

ContextFlags

保留供未來使用。 傳遞 0。

[out, optional] ppDeferredContext

完成方法時,會初始化 ID3D11DeviceCoNtext1 介面指標的傳遞指標。

傳回值

如果成功,則傳回S_OK;否則,傳回下列其中一項:

  • 如果圖形介面卡已從電腦實際移除,或圖形介面卡的驅動程式升級發生,則傳回 DXGI_ERROR_DEVICE_REMOVED 。 如果發生此錯誤,您應該終結並重新建立裝置。
  • 如果無法從目前內容呼叫CreateDeferredCoNtext1方法,則傳回DXGI_ERROR_INVALID_CALL。 例如,如果裝置是以 D3D11_CREATE_DEVICE_SINGLETHREADED 值建立, CreateDeferredCoNtext1傳回DXGI_ERROR_INVALID_CALL
  • 如果CoNtextFlags參數無效,則傳回E_INVALIDARG
  • 如果應用程式已用盡可用記憶體,則傳回 E_OUTOFMEMORY

備註

延後的內容是安全線程的內容,可用來在主轉譯執行緒以外的執行緒上記錄圖形命令。 藉由使用延後的內容,您可以將圖形命令記錄到 ID3D11CommandList 介面所封裝的命令清單中。 錄製所有場景專案之後,您就可以將它們提交至主要轉譯執行緒以進行最終轉譯。 如此一來,您可以跨多個執行緒同時執行轉譯工作,並可能改善多核心 CPU 案例中的效能。

您可以建立多個延後的內容。

注意 如果您使用 D3D11_CREATE_DEVICE_SINGLETHREADED 值來建立 ID3D11Device1所代表的裝置, CreateDeferredCoNtext1 方法將會失敗,而且您將無法建立延後的內容。
 
如需延遲內容的詳細資訊,請參閱 立即和延後轉譯

Windows Phone 8:支援此 API。

規格需求

   
最低支援的用戶端 適用于 Windows 7 的 Windows 8 和平臺更新 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 適用于 Windows Server 2008 R2 的 Windows Server 2012 和平臺更新 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 d3d11_1.h
程式庫 D3D11.lib

另請參閱

ID3D11Device1

ID3D11Device2::CreateDeferredCoNtext2

ID3D11Device3::CreateDeferredCoNtext3

ID3D11Device::CreateDeferredCoNtext