D3DCREATE

Combinación de una o varias marcas que controlan el comportamiento de creación del dispositivo.

#define Descripción
D3DCREATE_ADAPTERGROUP_DEVICE La aplicación pide al dispositivo que maneje todas las cabezas que posee este adaptador maestro. La marca no es válida en adaptadores no maestros. Si se establece esta marca, los parámetros de presentación pasados a CreateDevice deben apuntar a una matriz de D3DPRESENT_PARAMETERS. El número de elementos de D3DPRESENT_PARAMETERS debe ser igual al número de adaptadores definidos por el miembro NumberOfAdaptersInGroup de la estructura D3DCAPS9 . El tiempo de ejecución de DirectX asignará cada elemento a cada encabezado en el orden numérico especificado por el miembro AdapterOrdinalInGroup de D3DCAPS9.
D3DCREATE_DISABLE_DRIVER_MANAGEMENT Direct3D administrará los recursos en lugar del controlador. Las llamadas a Direct3D no producirán errores de recursos, como memoria de vídeo insuficiente.
D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX Al igual que D3DCREATE_DISABLE_DRIVER_MANAGEMENT, Direct3D administrará los recursos en lugar del controlador. A diferencia de D3DCREATE_DISABLE_DRIVER_MANAGEMENT, D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX devolverá errores para condiciones como memoria de vídeo insuficiente.
D3DCREATE_DISABLE_PRINTSCREEN Hace que el tiempo de ejecución no registre las teclas de acceso rápido para Printscreen, Ctrl-Printscreen y Alt-Printscreen capturar el contenido del escritorio o de la ventana.
Diferencias entre Direct3D 9 y Direct3D 9Ex:
Esta marca solo está disponible en Direct3D 9Ex.

 

D3DCREATE_DISABLE_PSGP_THREADING Restrinja el cálculo al subproceso de aplicación principal. Si no se establece la marca, el entorno de ejecución puede realizar el procesamiento de vértices de software y otros cálculos en el subproceso de trabajo para mejorar el rendimiento en sistemas de varios procesadores.
Diferencias entre Windows XP y Windows Vista:
Esta marca está disponible en Windows Vista, Windows Server 2008 y Windows 7.

 

D3DCREATE_ENABLE_PRESENTSTATS Habilita la recopilación de estadísticas presentes en el dispositivo. Las llamadas a GetPresentStatistics devolverán datos válidos.
Diferencias entre Direct3D 9 y Direct3D 9Ex:
Esta marca solo está disponible en Direct3D 9Ex.

 

D3DCREATE_FPU_PRESERVE Establezca la precisión de los cálculos de punto flotante de Direct3D en la precisión utilizada por el subproceso que realiza la llamada. Si no especificas esta marca, Direct3D tiene como valor predeterminado el modo de redondeo a más cercano de precisión única por dos motivos:
  • El modo de precisión doble reducirá el rendimiento de Direct3D.
  • Las partes de Direct3D suponen que las excepciones de unidad de punto flotante están enmascaradas; la desenmascarada de estas excepciones puede dar lugar a un comportamiento indefinido.
D3DCREATE_HARDWARE_VERTEXPROCESSING Especifica el procesamiento de vértices de hardware.
D3DCREATE_MIXED_VERTEXPROCESSING Especifica el procesamiento de vértices mixtos (tanto de software como de hardware). Para Windows 10, versión 1607 y posteriores, no se recomienda usar esta configuración. Consulte D3DCREATE_SOFTWARE_VERTEXPROCESSING.
D3DCREATE_SOFTWARE_VERTEXPROCESSING Especifica el procesamiento de vértices de software. Para Windows 10, versión 1607 y posteriores, no se recomienda usar esta configuración. Use D3DCREATE_HARDWARE_VERTEXPROCESSING.

Nota:
A menos que el procesamiento de vértices de hardware no esté disponible, no se recomienda el uso del procesamiento de vértices de software en Windows 10, versión 1607 (y versiones posteriores), ya que la eficacia del procesamiento de vértices de software se redujo significativamente al mejorar la seguridad de la implementación.

 
D3DCREATE_MULTITHREADED Indica que la aplicación solicita que Direct3D sea seguro multiproceso. Esto hace que un subproceso de Direct3D tome posesión de su sección crítica global con más frecuencia, lo que puede degradar el rendimiento. Si una aplicación procesa mensajes de ventana en un subproceso mientras realiza llamadas API de Direct3D en otra, la aplicación debe usar esta marca al crear el dispositivo. Esta ventana también debe destruirse antes de descargar d3d9.dll.
D3DCREATE_NOWINDOWCHANGES Indica que Direct3D no debe modificar la ventana de enfoque de ninguna manera.

Nota:
Si se establece esta marca, la aplicación debe admitir completamente todos los eventos de administración de foco, como ALT+TAB y los eventos de clic del mouse.

 
D3DCREATE_PUREDEVICE Especifica que Direct3D no admite llamadas Get* para cualquier cosa que se pueda almacenar en bloques de estado. También indica a Direct3D que no proporcione ningún servicio de emulación para el procesamiento de vértices. Esto significa que si el dispositivo no admite el procesamiento de vértices, la aplicación solo puede usar vértices después de la transformación.
D3DCREATE_SCREENSAVER Permite protectores de pantalla durante una aplicación de pantalla completa. Sin esta marca, Direct3D deshabilitará los protectores de pantalla siempre y cuando la aplicación que realiza la llamada sea de pantalla completa. Si la aplicación que realiza la llamada ya es un protector de pantalla, esta marca no tiene ningún efecto.
Diferencias entre Direct3D 9 y Direct3D 9Ex:
Esta marca solo está disponible en Direct3D 9Ex.

 

 

D3DCREATE_HARDWARE_VERTEXPROCESSING, D3DCREATE_MIXED_VERTEXPROCESSING y D3DCREATE_SOFTWARE_VERTEXPROCESSING son marcas mutuamente excluyentes. Se debe especificar al menos una de estas marcas de procesamiento de vértices al llamar a CreateDevice.

Información constante

Requisito Value
Encabezado D3D9.h
Sistema operativo mínimo Windows 98

 

Constantes de Direct3D