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 |
---|---|
|
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. |
|
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. |
|
Reservado. |
|
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. |
|
Esto es casi equivalente a D3DPRESENT_INTERVAL_ONE. Vea Notas. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
El contenido del búfer de reserva que se va a presentar está en el espacio de colores lineal.
|
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. |
|
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. |
|
Desactiva el hardware de superposición. Esta marca solo está disponible en Direct3D 9Ex. |
|
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 |
|