Partager via


ID3D11Device1::CreateDeferredContext1, méthode (d3d11_1.h)

Crée un contexte différé, qui peut enregistrer des listes de commandes.

Syntaxe

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

Paramètres

ContextFlags

Réservé pour un usage futur. Passez 0.

[out, optional] ppDeferredContext

Une fois la méthode terminée, le pointeur passé vers un pointeur d’interface ID3D11DeviceContext1 est initialisé.

Valeur retournée

Retourne S_OK en cas de réussite ; dans le cas contraire, retourne l’un des éléments suivants :

  • Retourne DXGI_ERROR_DEVICE_REMOVED si la carte graphique a été physiquement supprimée de l’ordinateur ou si une mise à niveau du pilote pour la carte graphique s’est produite. Si cette erreur se produit, vous devez détruire et recréer l’appareil.
  • Retourne DXGI_ERROR_INVALID_CALL si la méthode CreateDeferredContext1 ne peut pas être appelée à partir du contexte actuel. Par exemple, si l’appareil a été créé avec la valeur D3D11_CREATE_DEVICE_SINGLETHREADED , CreateDeferredContext1 retourne DXGI_ERROR_INVALID_CALL.
  • Retourne E_INVALIDARG si le paramètre ContextFlags n’est pas valide.
  • Retourne E_OUTOFMEMORY si l’application a épuisé la mémoire disponible.

Notes

Un contexte différé est un contexte thread-safe que vous pouvez utiliser pour enregistrer des commandes graphiques sur un thread autre que le thread de rendu main. À l’aide d’un contexte différé, vous pouvez enregistrer des commandes graphiques dans une liste de commandes encapsulée par l’interface ID3D11CommandList . Après avoir enregistré tous les éléments de scène, vous pouvez les envoyer au thread de rendu main pour le rendu final. De cette façon, vous pouvez effectuer des tâches de rendu simultanément sur plusieurs threads et potentiellement améliorer les performances dans les scénarios d’UC multicœurs.

Vous pouvez créer plusieurs contextes différés.

Note Si vous utilisez la valeur D3D11_CREATE_DEVICE_SINGLETHREADED pour créer l’appareil représenté par ID3D11Device1, la méthode CreateDeferredContext1 échoue et vous ne pourrez pas créer un contexte différé.
 
Pour plus d’informations sur les contextes différés, consultez Rendu immédiat et différé.

Windows Phone 8 : Cette API est prise en charge.

Configuration requise

   
Client minimal pris en charge Windows 8 et Mise à jour de plateforme pour Windows 7 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2012 et mise à jour de plateforme pour Windows Server 2008 R2 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête d3d11_1.h
Bibliothèque D3D11.lib

Voir aussi

ID3D11Device1

ID3D11Device2::CreateDeferredContext2

ID3D11Device3::CreateDeferredContext3

ID3D11Device::CreateDeferredContext