D3DCREATE

Combinaison d’un ou plusieurs indicateurs qui contrôlent le comportement de création de l’appareil.

#define Description
D3DCREATE_ADAPTERGROUP_DEVICE L’application demande à l’appareil de piloter toutes les têtes que possède cet adaptateur master. L’indicateur n’est pas autorisé sur les adaptateurs non maîtres. Si cet indicateur est défini, les paramètres de présentation passés à CreateDevice doivent pointer vers un tableau de D3DPRESENT_PARAMETERS. Le nombre d’éléments dans D3DPRESENT_PARAMETERS doit être égal au nombre d’adaptateurs défini par le membre NumberOfAdaptersInGroup de la structure D3DCAPS9 . Le runtime DirectX affecte chaque élément à chaque tête dans l’ordre numérique spécifié par le membre AdapterOrdinalInGroup de D3DCAPS9.
D3DCREATE_DISABLE_DRIVER_MANAGEMENT Direct3D gère les ressources au lieu du pilote. Les appels Direct3D ne échouent pas pour les erreurs de ressources telles que la mémoire vidéo insuffisante.
D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX Comme D3DCREATE_DISABLE_DRIVER_MANAGEMENT, Direct3D gère les ressources au lieu du pilote. Contrairement à D3DCREATE_DISABLE_DRIVER_MANAGEMENT, D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX retourne des erreurs pour des conditions telles que la mémoire vidéo insuffisante.
D3DCREATE_DISABLE_PRINTSCREEN Le runtime n’enregistre pas les raccourcis clavier pour Printscreen, Ctrl-Printscreen et Alt-Printscreen pour capturer le contenu du bureau ou de la fenêtre.
Différences entre Direct3D 9 et Direct3D 9Ex :
Cet indicateur est disponible dans Direct3D 9Ex uniquement.

 

D3DCREATE_DISABLE_PSGP_THREADING Limitez le calcul au thread d’application main. Si l’indicateur n’est pas défini, le runtime peut effectuer le traitement du vertex logiciel et d’autres calculs dans le thread de travail pour améliorer les performances sur les systèmes multiprocesseurs.
Différences entre Windows XP et Windows Vista :
Cet indicateur est disponible sur Windows Vista, Windows Server 2008 et Windows 7.

 

D3DCREATE_ENABLE_PRESENTSTATS Active la collecte des statistiques présentes sur l’appareil. Les appels à GetPresentStatistics retournent des données valides .
Différences entre Direct3D 9 et Direct3D 9Ex :
Cet indicateur est disponible dans Direct3D 9Ex uniquement.

 

D3DCREATE_FPU_PRESERVE Définissez la précision des calculs à virgule flottante Direct3D sur la précision utilisée par le thread appelant. Si vous ne spécifiez pas cet indicateur, Direct3D utilise par défaut le mode d’arrondi à proche unique précision pour deux raisons :
  • Le mode double précision réduit les performances de Direct3D.
  • Certaines parties de Direct3D supposent que les exceptions d’unités à virgule flottante sont masquées ; le démasquage de ces exceptions peut entraîner un comportement non défini.
D3DCREATE_HARDWARE_VERTEXPROCESSING Spécifie le traitement du vertex matériel.
D3DCREATE_MIXED_VERTEXPROCESSING Spécifie le traitement mixte du vertex (logiciel et matériel). Pour Windows 10 version 1607 et ultérieure, l’utilisation de ce paramètre n’est pas recommandée. Voir D3DCREATE_SOFTWARE_VERTEXPROCESSING.
D3DCREATE_SOFTWARE_VERTEXPROCESSING Spécifie le traitement du vertex logiciel. Pour Windows 10 version 1607 et ultérieure, l’utilisation de ce paramètre n’est pas recommandée. Utilisez D3DCREATE_HARDWARE_VERTEXPROCESSING.

Remarque :
Sauf si le traitement du vertex matériel n’est pas disponible, l’utilisation du traitement du vertex logiciel n’est pas recommandée dans Windows 10, version 1607 (et versions ultérieures), car l’efficacité du traitement du vertex logiciel a été considérablement réduite tout en améliorant la sécurité de l’implémentation.

 
D3DCREATE_MULTITHREADED Indique que l’application demande à Direct3D d’être multithread safe. Cela permet à un thread Direct3D de s’approprier plus fréquemment sa section critique globale, ce qui peut dégrader les performances. Si une application traite les messages de fenêtre dans un thread tout en effectuant des appels d’API Direct3D dans un autre, l’application doit utiliser cet indicateur lors de la création de l’appareil. Cette fenêtre doit également être détruite avant le déchargement d3d9.dll.
D3DCREATE_NOWINDOWCHANGES Indique que Direct3D ne doit en aucun cas modifier la fenêtre de focus.

Remarque :
Si cet indicateur est défini, l’application doit prendre entièrement en charge tous les événements de gestion des focus, tels que ALT+TAB et les événements de clic de souris.

 
D3DCREATE_PUREDEVICE Spécifie que Direct3D ne prend pas en charge les appels Get* pour tout ce qui peut être stocké dans des blocs d’état. Elle indique également à Direct3D de ne pas fournir de services d’émulation pour le traitement des vertex. Cela signifie que si l’appareil ne prend pas en charge le traitement des vertex, l’application ne peut utiliser que des sommets post-transformés.
D3DCREATE_SCREENSAVER Autorise les économiseurs d’écran pendant une application plein écran. Sans cet indicateur, Direct3D désactive les écrans de veille tant que l’application appelante est en plein écran. Si l’application appelante est déjà un écran de veille, cet indicateur n’a aucun effet.
Différences entre Direct3D 9 et Direct3D 9Ex :
Cet indicateur est disponible dans Direct3D 9Ex uniquement.

 

 

D3DCREATE_HARDWARE_VERTEXPROCESSING, D3DCREATE_MIXED_VERTEXPROCESSING et D3DCREATE_SOFTWARE_VERTEXPROCESSING sont des indicateurs qui s’excluent mutuellement. Au moins un de ces indicateurs de traitement de vertex doit être spécifié lors de l’appel de CreateDevice.

Informations constantes

Condition requise Valeur
En-tête D3D9.h
Système d’exploitation minimal Windows 98

 

Constantes Direct3D