ID3D11Device1::CreateDeferredContext1-Methode (d3d11_1.h)

Erstellt einen verzögerten Kontext, der Befehlslisten aufzeichnen kann.

Syntax

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

Parameter

ContextFlags

Für die zukünftige Verwendung reserviert. Pass 0.

[out, optional] ppDeferredContext

Nach Abschluss der -Methode wird der übergebene Zeiger auf einen ID3D11DeviceContext1-Schnittstellenzeiger initialisiert.

Rückgabewert

Gibt bei erfolgreicher Ausführung S_OK zurück. Gibt andernfalls eine der folgenden Rückgaben zurück:

  • Gibt DXGI_ERROR_DEVICE_REMOVED zurück, wenn die Grafikkarte physisch vom Computer entfernt wurde oder ein Treiberupgrade für die Grafikkarte erfolgt ist. Wenn dieser Fehler auftritt, sollten Sie das Gerät zerstören und neu erstellen.
  • Gibt DXGI_ERROR_INVALID_CALL zurück, wenn die CreateDeferredContext1-Methode nicht aus dem aktuellen Kontext aufgerufen werden kann. Wenn das Gerät beispielsweise mit dem wert D3D11_CREATE_DEVICE_SINGLETHREADED erstellt wurde, gibt CreateDeferredContext1DXGI_ERROR_INVALID_CALL zurück.
  • Gibt E_INVALIDARG zurück, wenn der ContextFlags-Parameter ungültig ist.
  • Gibt E_OUTOFMEMORY zurück, wenn die Anwendung den verfügbaren Arbeitsspeicher erschöpft hat.

Hinweise

Ein verzögerter Kontext ist ein threadsicherer Kontext, den Sie zum Aufzeichnen von Grafikbefehlen in einem anderen Thread als dem Standard Renderingthreads verwenden können. Mithilfe eines verzögerten Kontexts können Sie Grafikbefehle in einer Befehlsliste aufzeichnen, die von der ID3D11CommandList-Schnittstelle gekapselt wird. Nachdem Sie alle Szenenelemente erfasst haben, können Sie sie zum endgültigen Rendering an den Standard Renderthread übermitteln. Auf diese Weise können Sie Renderingaufgaben gleichzeitig über mehrere Threads hinweg ausführen und die Leistung in Cpu-Szenarien mit mehreren Kernen möglicherweise verbessern.

Sie können mehrere verzögerte Kontexte erstellen.

Hinweis Wenn Sie den wert D3D11_CREATE_DEVICE_SINGLETHREADED verwenden, um das Gerät zu erstellen, das durch ID3D11Device1 dargestellt wird, schlägt die CreateDeferredContext1-Methode fehl, und Sie können keinen verzögerten Kontext erstellen.
 
Weitere Informationen zu verzögerten Kontexten finden Sie unter Sofortiges und verzögertes Rendering.

Windows Phone 8: Diese API wird unterstützt.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 und Plattformupdate für Windows Server 2008 R2 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile d3d11_1.h
Bibliothek D3D11.lib

Weitere Informationen

ID3D11Device1

ID3D11Device2::CreateDeferredContext2

ID3D11Device3::CreateDeferredContext3

ID3D11Device::CreateDeferredContext