Compartir a través de


D3DPRESENT

Describe la relación entre la frecuencia de actualización del adaptador y la velocidad a la que se completan las operaciones Presentes o Presentes . Estos valores también sirven como valores de marca para el campo PresentationIntervals de D3DCAPS9.

Constante Description
D3DPRESENT_DONOTFLIP
Use el búfer frontal como la superficie de origen y de destino durante la representación. Se programa una sincronización de fotogramas, pero la superficie mostrada no cambia. Esta marca solo está disponible cuando la aplicación está en modo de pantalla completa y se ha especificado D3DSWAPEFFECT_FLIPEX.
Esta marca solo está disponible en Direct3D 9Ex.
D3DPRESENT_DONOTWAIT
Un dispositivo hal no puede programar una presentación. Si esta marca se establece en una llamada a Present y el hardware está ocupado procesando o esperando un intervalo de sincronización vertical, Present devolverá D3DERR_WASSTILLDRAWING para indicar que la operación blit está incompleta.
D3DPRESENT_FLIPRESTART
Reservado.
D3DPRESENT_FORCEIMMEDIATE
D3DPRESENT_INTERVAL_IMMEDIATE se aplica en esta llamada Presente . Esta marca solo se puede especificar al usar D3DSWAPEFFECT_FLIPEX. Los comportamientos de presentación en ventanas y de pantalla completa son los mismos. Esto es especialmente útil para las aplicaciones multimedia que quieren descartar fotogramas detectados como tarde y presentar fotogramas posteriores en el momento de la composición. Se devolverá un error de parámetro no válido si se especifica incorrectamente esta marca. Cuando se ponen en cola varios fotogramas consecutivos con D3DPRESENT_FORCEIMMEDIATEs, solo se muestra el último fotograma, tanto para la presentación en pantalla completa como para ventanas.
Esta marca está disponible en Direct3D 9Ex en sistemas operativos Windows 7 o posteriores.
Al usar D3DSWAPEFFECT_FLIPEX, cada fotograma presentado mediante D3DPRESENT_INTERVAL_IMMEDIATE o D3DPRESENT_INTERVAL_FORCEIMMEDIATE invalidará el intervalo actual del fotograma anterior. Por ejemplo, si pone en cola los siguientes fotogramas con los siguientes efectos de intercambio: marco A (D3DPRESENT_INTERVAL_ONE), marco B(D3DPRESENT_INTERVAL_ONE), marco C(D3DPRESENT_INTERVAL_ONE), marco D(D3DPRESENT_INTERVAL_FORCEIMMEDIATE), frame D invalidará el intervalo actual de la trama C. Los fotogramas mostrados por intervalo actual son el marco A, el marco B, (marco C invalidado por) marco D.
Vea comentarios.
D3DPRESENT_INTERVAL_DEFAULT
Esto es casi equivalente a D3DPRESENT_INTERVAL_ONE. Vea las observaciones.
D3DPRESENT_INTERVAL_ONE
El controlador esperará el período de retroceso vertical (el tiempo de ejecución "sigue el haz" para evitar el desgarro). Las operaciones presentes no se verán afectadas con más frecuencia que la actualización de pantalla; el tiempo de ejecución completará como máximo una operación Present por período de actualización del adaptador. Esto equivale a usar D3DSWAPEFFECT_COPY_VSYNC en DirectX 8.1. Esta opción siempre está disponible para cadenas de intercambio en ventanas y de pantalla completa. Vea las observaciones.
D3DPRESENT_INTERVAL_TWO
El controlador esperará el período de retroceso vertical. Las operaciones presentes no se verán afectadas con más frecuencia que cada segunda actualización de pantalla. Compruebe el límite PresentationIntervals (consulte D3DCAPS9) para ver si el controlador admite D3DPRESENT_INTERVAL_TWO.
D3DPRESENT_INTERVAL_THREE
El controlador esperará el período de retroceso vertical. Las operaciones presentes no se verán afectadas con más frecuencia que cada tercera actualización de pantalla. Compruebe el límite PresentationIntervals (consulte D3DCAPS9) para ver si el controlador admite D3DPRESENT_INTERVAL_THREE.
D3DPRESENT_INTERVAL_FOUR
El controlador esperará el período de retroceso vertical. Las operaciones presentes no se verán afectadas con más frecuencia que cada cuarta actualización de pantalla. Compruebe el miembro PresentationIntervals (consulte D3DCAPS9) para ver si el controlador admite D3DPRESENT_INTERVAL_FOUR.
D3DPRESENT_INTERVAL_IMMEDIATE
El tiempo de ejecución actualiza el área de cliente de ventana inmediatamente y puede hacerlo más de una vez durante el período de actualización del adaptador. Esto equivale a usar D3DSWAPEFFECT_COPY en DirectX 8. Las operaciones presentes pueden verse afectadas inmediatamente. Esta opción siempre está disponible para cadenas de intercambio en ventanas y de pantalla completa. Vea las observaciones.
D3DPRESENT_LINEAR_CONTENT
El contenido del búfer de reserva que se va a presentar está en el espacio de color lineal.
  • La presentación se convertirá implícitamente de espacio lineal a sRGB (gamma = 2.2). Esta es la única conversión que se admite.
  • Dado que esta marca representa una propiedad del contenido del búfer de reserva, la marca se puede especificar durante una llamada Present . En otras palabras, una aplicación puede presentar contenido lineal en un marco y, a continuación, cambiar al contenido corregido en el siguiente.
  • Esta marca se omite cuando la cadena de intercambio está en pantalla completa. (Tenga en cuenta que esta marca solo está disponible en la versión explícita de la cadena de intercambio de Present. El método Present no toma un parámetro flags).
  • Esta marca siempre se acepta, pero solo surtirá efecto cuando el controlador exponga >D3DCAPS3_LINEAR_TO_SRGB_PresentATION.
  • El único formato de búfer de reserva admitido es X8R8G8B8.
Consulte Cadenas de intercambio con ventanas.
D3DPRESENT_VIDEO_RESTRICT_TO_MONITOR
Clips el contenido representado en el monitor o dispositivo que el adaptador tiene como destino, muestra miniaturas para el contenido de la vista Flip3D y miniaturas de la barra de tareas en otros monitores.
Esta marca solo está disponible en Direct3D 9Ex.
Consulta Administrador de ventanas de escritorio para obtener más información sobre esta característica de Windows Vista. Si no se ejecuta en modo de composición de escritorio, la marca proporciona el mismo comportamiento que D3DPRESENTFLAG_DEVICECLIP.
Nota: Esta marca solo debe usarse con el efecto de intercambio D3DSWAPEFFECT_FLIPEX. El uso de esta marca con otros efectos de intercambio está en desuso y puede que no funcione en versiones futuras de Windows.
D3DPRESENT_UPDATEOVERLAYONLY
Actualiza la posición de superposición o los datos de la clave de color sin provocar un volteo real y sin cambiar la duración con la que se muestra la imagen.
Esta marca solo está disponible en Direct3D 9Ex.
D3DPRESENT_HIDEOVERLAY
Desactiva el hardware de superposición.
Esta marca solo está disponible en Direct3D 9Ex.
D3DPRESENT_UPDATECOLORKEY
Vuelve a dibujar los datos de la clave de color.
Esta marca solo está disponible en Direct3D 9Ex.

Observaciones

El modo windowed admite D3DPRESENT_INTERVAL_DEFAULT, D3DPRESENT_INTERVAL_IMMEDIATE y D3DPRESENT_INTERVAL_ONE. D3DPRESENT_INTERVAL_DEFAULT y el D3DPRESENT_INTERVAL_ONE son casi equivalentes (consulte la información sobre la resolución del temporizador a continuación). Realizan de forma similar a COPY_VSYNC en que solo hay un presente por fotograma, y evitan el desgarro con la viga siguiente. Por el contrario, D3DPRESENT_INTERVAL_IMMEDIATE intentará proporcionar una velocidad de presentación ilimitada.

El modo de pantalla completa admite un uso similar al modo de ventana al admitir D3DPRESENT_INTERVAL_IMMEDIATE independientemente de la frecuencia de actualización o el efecto de intercambio. D3DPRESENT_INTERVAL_DEFAULT usa la resolución predeterminada del temporizador del sistema, mientras que el D3DPRESENT_INTERVAL_ONE llama a timeBeginPeriod para mejorar la resolución del temporizador del sistema. Esto mejora la calidad de la sincronización vertical, pero consume un poco más tiempo de procesamiento. Ambos parámetros intentan sincronizarse verticalmente.

Requisitos

Requirement Importancia
Header
D3d9.h

Consulte también

Constantes direct3D