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 Descripción
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 de lalit 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 con ventanas y de pantalla completa son los mismos. Esto es especialmente útil para las aplicaciones multimedia que desean descartar fotogramas que se han detectado como tarde y presentan 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 con 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), frame D(D3DPRESENT_INTERVAL_FORCEIMMEDIATE), frame D reemplazará el intervalo presente del marco C. Los fotogramas mostrados por intervalo actual son el marco A, el marco B, (marco C invalidado por) marco D.
Vea la sección Comentarios.
D3DPRESENT_INTERVAL_DEFAULT
Esto es casi equivalente a D3DPRESENT_INTERVAL_ONE. Vea Notas.
D3DPRESENT_INTERVAL_ONE
El controlador esperará el período de retroceso vertical (el tiempo de ejecución "seguirá el haz" para evitar el desgarro). Las operaciones actuales 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_COPYVSYNC en DirectX 8.1. Esta opción siempre está disponible para cadenas de intercambio de pantalla completa y ventanas. Vea Notas.
D3DPRESENT_INTERVAL_TWO
El controlador esperará el período de retroceso vertical. Las operaciones actuales 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 actuales 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 actuales 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 cliente de la 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 actuales pueden verse afectadas inmediatamente. Esta opción siempre está disponible para cadenas de intercambio de pantalla completa y ventanas. Vea Notas.
D3DPRESENT_LINEAR_CONTENT
El contenido del búfer de reserva que se va a presentar está en el espacio de colores 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 . Es decir, 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
Recorta 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 se debe usar con el efecto de intercambio D3DSWAPEFFECT_FLIPEX. El uso de esta marca con otros efectos de intercambio está en desuso y es posible que no funcione en versiones futuras de Windows.
D3DPRESENT_UPDATEOVERLAYONLY
Novedades 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.

Comentarios

El modo con ventanas 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 el haz de seguimiento. 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 con ventanas, ya que admite D3DPRESENT_INTERVAL_IMMEDIATE independientemente de la tasa 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

Requisito Value
Encabezado
D3d9.h

Consulte también

Constantes de Direct3D