estructura de DXGI_PRESENT_PARAMETERS (dxgi1_2.h)
Describe información sobre el presente que ayuda a optimizar la presentación del sistema operativo.
Sintaxis
typedef struct DXGI_PRESENT_PARAMETERS {
UINT DirtyRectsCount;
RECT *pDirtyRects;
RECT *pScrollRect;
POINT *pScrollOffset;
} DXGI_PRESENT_PARAMETERS;
Miembros
DirtyRectsCount
Número de rectángulos actualizados que se actualizan en el búfer de reserva para el marco presentado. El sistema operativo usa esta información para optimizar la presentación. Puede establecer este miembro en 0 para indicar que actualiza todo el marco.
pDirtyRects
Lista de rectángulos actualizados que se actualizan en el búfer de reserva para el marco presentado. Una aplicación debe actualizar cada píxel en cada rectángulo que notifica al tiempo de ejecución; la aplicación no puede suponer que los píxeles se guardan del marco anterior. Para obtener más información sobre cómo actualizar rectángulos sucios, vea Comentarios. Puede establecer este miembro en NULL si DirtyRectsCount es 0. Una aplicación no debe actualizar ningún píxel fuera de los rectángulos sucios.
pScrollRect
Puntero al rectángulo desplazado. El rectángulo desplazado es el rectángulo del marco anterior desde el que el contenido del bloque de bits en tiempo de ejecución transfiere (bitblts). El tiempo de ejecución también usa el rectángulo desplazado para optimizar la presentación en terminal server y escenarios de visualización indirecta.
El rectángulo desplazado también describe el rectángulo de destino, es decir, la región del marco actual que se rellena con contenido desplazado. Puede establecer este miembro en NULL para indicar que no se desplaza ningún contenido desde el marco anterior.
pScrollOffset
Puntero al desplazamiento del área desplazada que va del rectángulo de origen (del marco anterior) al rectángulo de destino (del marco actual). Puede establecer este miembro en NULL para indicar que no hay desplazamiento.
Comentarios
El método Present1 usa esta estructura.
El rectángulo de desplazamiento y la lista de rectángulos sucios se pueden superponer. En esta situación, los rectángulos sucios tienen prioridad. A continuación, las aplicaciones pueden tener partes de contenido dinámico sobre un área desplazada. Por ejemplo, una aplicación podría desplazarse por una página y reproducir vídeo al mismo tiempo.
En el diagrama y las coordenadas siguientes se muestra este ejemplo.
DirtyRectsCount = 2
pDirtyRects[ 0 ] = { 10, 30, 40, 50 } // Video
pDirtyRects[ 1 ] = { 0, 70, 50, 80 } // New line
*pScrollRect = { 0, 0, 50, 70 }
*pScrollOffset = { 0, -10 }
Las partes del fotograma y el contenido anteriores que representa la aplicación se combinan para generar el marco final que presenta el sistema operativo en la pantalla de visualización. La mayoría de la ventana se desplaza desde el marco anterior. La aplicación debe actualizar el fotograma de vídeo con el nuevo fragmento de contenido que aparece debido al desplazamiento.
El rectángulo discontinuo muestra el rectángulo de desplazamiento en el marco actual. El miembro pScrollRect especifica el rectángulo de desplazamiento. La flecha muestra el desplazamiento de desplazamiento. El desplazamiento de desplazamiento lo especifica el miembro pScrollOffset . Los rectángulos rellenados muestran rectángulos sucios que la aplicación actualizó con nuevo contenido. Los rectángulos rellenados se especifican mediante los miembros DirtyRectsCount y pDirtyRects .
El rectángulo de desplazamiento y el desplazamiento no se admiten para la opción DXGI_SWAP_EFFECT_DISCARD o DXGI_SWAP_EFFECT_SEQUENTIAL presente. Los rectángulos sucios y el rectángulo de desplazamiento no se admiten para cadenas de intercambio multimuestreo.
La implementación real de la composición y los bitblts necesarios es diferente para el modelo bitblt y el modelo de volteo. Para obtener más información sobre estos modelos, consulta DXGI Flip Model.
Para obtener más información sobre la cadena de intercambio de modelos invertidos y la optimización de la presentación, consulta Mejorar la presentación con el modelo de volteo, rectángulos sucios y áreas desplazadas.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8 y Actualización de plataforma para Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2012 y actualización de plataforma para Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP] |
Encabezado | dxgi1_2.h |