DXGI_PRESENT
Las constantes DXGI_PRESENT especifican opciones para presentar fotogramas a la salida.
Constante o valor | Descripción |
---|---|
|
Presente un marco de cada búfer (empezando por el búfer actual) a la salida. |
DXGI_PRESENT_DO_NOT_SEQUENCE 0x00000002UL |
Presentar un marco del búfer actual a la salida. Use esta marca para que la presentación pueda usar la sincronización en blanco vertical en lugar de secuenciar búferes en la cadena de la manera habitual. Nota: Si la aplicación que realiza la llamada establece la constante DXGI_PRESENT_DO_NOT_SEQUENCE en la primera operación presente (es decir, cuando no hay ningún búfer actual), el tiempo de ejecución omite esa operación actual y no llama al controlador. |
|
No presente el marco en la salida. El estado de la cadena de intercambio se probará y se devolverán los errores adecuados. DXGI_PRESENT_TEST está pensado para su uso solo cuando se cambia del estado inactivo; no lo use para determinar cuándo cambiar al estado inactivo porque hacerlo puede dejar la cadena de intercambio incapaz de salir del modo de pantalla completa. |
|
Especifica que el tiempo de ejecución descartará los regalos pendientes en cola. |
|
Especifica que se producirá un error en el tiempo de ejecución de la presentación (es decir, se producirá un error en una llamada a IDXGISwapChain1::P resent1) con el código de error DXGI_ERROR_WAS_STILL_DRAWING si se bloquea el subproceso que realiza la llamada; el tiempo de ejecución devuelve DXGI_ERROR_WAS_STILL_DRAWING en lugar de dormir hasta que se resuelva la dependencia. Direct3D 11: Este valor de enumeración se admite a partir de Windows 8. |
DXGI_PRESENT_RESTRICT_TO_OUTPUT 0x00000010UL |
Indica que el contenido de la presentación solo se mostrará en la salida concreta. El contenido no será visible en otras salidas. Por ejemplo, si el usuario intenta reubicar el contenido de vídeo en otra salida, el contenido del vídeo no será visible. Direct3D 11: Este valor de enumeración se admite a partir de Windows 8. Nota: Esta marca solo se debe usar con el efecto de intercambio DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL o DXGI_SWAP_EFFECT_FLIP_DISCARD. El uso de esta marca con otros efectos de intercambio está en desuso y es posible que no funcione en versiones futuras de Windows. |
|
Indica que si el estéreo presente debe reducirse a mono, se usa la visualización de los ojos derecho en lugar de la visualización de los ojos izquierdos. Direct3D 11: Este valor de enumeración se admite a partir de Windows 8. |
|
Indica que la presentación debe usar el búfer izquierdo como un búfer mono. Una aplicación llama al método IDXGISwapChain1::IsTemporaryMonoSupported para determinar si una cadena de intercambio admite "mono temporal". Direct3D 11: Este valor de enumeración se admite a partir de Windows 8. |
DXGI_PRESENT_USE_DURATION 0x00000100UL |
Esta marca debe establecerse mediante aplicaciones multimedia que usan actualmente una duración actual personalizada (frecuencia de actualización personalizada). Consulte IDXGISwapChainMedia. Nota: Este valor se admite a partir de Windows 8.1. |
|
Permitir el desgarro es un requisito de las pantallas de frecuencia de actualización variable. Las condiciones para usar DXGI_PRESENT_ALLOW_TEARING durante el presente son las siguientes:
|
Comentarios
Las opciones de presentación se proporcionan durante la llamada IDXGISwapChain::P resent o IDXGISwapChain1::P resent1 . Los búferes se especifican en la descripción de la cadena de intercambio (consulte DXGI_SWAP_CHAIN_DESC o DXGI_SWAP_CHAIN_DESC1).
DXGI_PRESENT_RESTART solo es válido para cadenas de intercambio de modelo invertida y pantalla completa. Las aplicaciones pueden usar DXGI_PRESENT_RESTART para recuperarse de problemas en la reproducción, así como para descartar presentaciones previamente en cola. Descartar presentaciones previamente en cola es útil si esas presentaciones en cola son escenarios con ventanas. En concreto, la presentación en cola anterior podría haber asumido que la ventana es un tamaño antiguo (es decir, se produjo una operación de cambio de tamaño después del envío).
DXGI_PRESENT_RESTRICT_TO_OUTPUT solo es válido para las cadenas de intercambio que especificaron una salida determinada para restringir el contenido a cuando se crearon esas cadenas de intercambio (IDXGIFactory2::CreateSwapChainForHwnd). Si no hay ninguna salida a la que restringir, la marca no es válida.
DXGI_PRESENT_STEREO_PREFER_RIGHT indica que si el estéreo presente debe reducirse a mono el ojo derecho debe usarse en lugar del ojo izquierdo (predeterminado). Puedes usar esta marca si un lado es de mayor calidad (por ejemplo, si el par estéreo se sintetiza a partir de una imagen estándar).
DXGI_PRESENT_STEREO_TEMPORARY_MONO indica que el presente debe usar el búfer izquierdo como un búfer mono. Puede usar esta marca para evitar actualizar el búfer correcto cuando una aplicación no tiene contenido estéreo temporalmente. Debe usar esta marca siempre que sea posible, ya que permite una optimización significativa por parte del sistema operativo y, en algunas circunstancias, puede evitar artefactos de cambio de modo visibles.
Debe usar la marca DXGI_PRESENT_STEREO_TEMPORARY_MONO en preferencia para cambiar a una cadena de intercambio mono para la mayoría de las aplicaciones que prevé que usarán estéreo de nuevo. Debe equilibrar el uso de esta marca en aplicaciones que son extremadamente largas o que rara vez muestran estéreo contra la desventaja de la memoria no utilizada.
Nota
Las aplicaciones de pantalla completa que cambian a una cadena de intercambio mono provocan un cambio de modo que generalmente tiene artefactos visibles (por ejemplo, "parpadeando"). Sin embargo, es posible que no se admita mono temporal para cadenas de intercambio de pantalla completa.
Las marcas DXGI_PRESENT_STEREO_PREFER_RIGHT y DXGI_PRESENT_STEREO_TEMPORARY_MONO solo se aplican a cadenas de intercambio estéreo. Si los usa al presentar cadenas de intercambio mono, se produce una operación no válida.
Si usa la marca DXGI_PRESENT_STEREO_TEMPORARY_MONO cuando presenta una cadena de intercambio estéreo que no admite mono temporal, se produce un error, la cadena de intercambio no se muestra y la presentación devuelve DXGI_ERROR_INVALID_CALL.
Requisitos
Requisito | Value |
---|---|
Encabezado |
|
Consulte también