DXGI_PRESENT

Les constantes DXGI_PRESENT spécifient des options pour présenter des images à la sortie.

Constante/valeur Description
0
Présentez une trame de chaque mémoire tampon (en commençant par la mémoire tampon actuelle) à la sortie.
DXGI_PRESENT_DO_NOT_SEQUENCE
0x000000002UL
Présentez une trame de la mémoire tampon actuelle à la sortie. Utilisez cet indicateur afin que la présentation puisse utiliser la synchronisation vide verticale au lieu de séquencer les mémoires tampons dans la chaîne de la manière habituelle.
Note: Si l’application appelante définit la constante DXGI_PRESENT_DO_NOT_SEQUENCE lors de la première opération présente (autrement dit, lorsqu’il n’y a pas de mémoire tampon actuelle), le runtime ignore cette opération et n’appelle pas le pilote.
DXGI_PRESENT_TEST
0x00000001UL
Ne présentez pas le cadre à la sortie. La status de la chaîne d’échange est testée et les erreurs appropriées sont retournées. DXGI_PRESENT_TEST est destiné à être utilisé uniquement lors du basculement de l’état inactif ; ne l’utilisez pas pour déterminer quand passer à l’état inactif, car cela peut laisser la chaîne d’échange incapable de quitter le mode plein écran.
DXGI_PRESENT_RESTART
0x00000004UL
Spécifie que le runtime ignore les présents en attente en attente.
DXGI_PRESENT_DO_NOT_WAIT
0x00000008UL
Spécifie que le runtime échouera la présentation (autrement dit, échec d’un appel à IDXGISwapChain1::P resent1) avec le code d’erreur DXGI_ERROR_WAS_STILL_DRAWING si le thread appelant est bloqué ; le runtime retourne DXGI_ERROR_WAS_STILL_DRAWING au lieu de la mise en veille jusqu’à ce que la dépendance soit résolue.
Direct3D 11 : Cette valeur d’énumération est prise en charge à partir de Windows 8.
DXGI_PRESENT_RESTRICT_TO_OUTPUT
0x00000010UL
Indique que le contenu de la présentation sera affiché uniquement sur la sortie particulière. Le contenu ne sera pas visible sur les autres sorties. Par exemple, si l’utilisateur tente de déplacer le contenu vidéo sur une autre sortie, le contenu vidéo ne sera pas visible.
Direct3D 11 : Cette valeur d’énumération est prise en charge à partir de Windows 8.
Note: Cet indicateur ne doit être utilisé qu’avec un effet d’échange DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL ou DXGI_SWAP_EFFECT_FLIP_DISCARD. L’utilisation de cet indicateur avec d’autres effets d’échange est déconseillée et peut ne pas fonctionner dans les versions ultérieures de Windows.
DXGI_PRESENT_STEREO_PREFER_RIGHT
0x000000020UL
Indique que si la chaîne stéréo présente doit être réduite en mono, l’affichage de l’œil droit est utilisé plutôt que l’affichage de l’œil gauche.
Direct3D 11 : Cette valeur d’énumération est prise en charge à partir de Windows 8.
DXGI_PRESENT_STEREO_TEMPORARY_MONO
0x000000040UL
Indique que la présentation doit utiliser la mémoire tampon gauche comme mémoire tampon mono. Une application appelle la méthode IDXGISwapChain1::IsTemporaryMonoSupported pour déterminer si une chaîne d’échange prend en charge « mono temporaire ».
Direct3D 11 : Cette valeur d’énumération est prise en charge à partir de Windows 8.
DXGI_PRESENT_USE_DURATION
0x00000100UL
Cet indicateur doit être défini par les applications multimédias qui utilisent actuellement une durée actuelle personnalisée (taux d’actualisation personnalisé). Consultez IDXGISwapChainMedia.
Note: Cette valeur est prise en charge à partir de Windows 8.1.
DXGI_PRESENT_ALLOW_TEARING
0x00000200UL
L’autorisation de la déchirure est une exigence d’affichage du taux d’actualisation variable.
Les conditions d’utilisation de DXGI_PRESENT_ALLOW_TEARING pendant La présente sont les suivantes :
  • La chaîne d’échange doit être créée avec l’indicateur DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING .
  • L’intervalle de synchronisation passé à Présent (ou Présent1) doit être égal à 0.
  • L’indicateur DXGI_PRESENT_ALLOW_TEARING ne peut pas être utilisé dans une application actuellement en mode exclusif plein écran (défini en appelant SetFullscreenState(TRUE)). Il ne peut être utilisé qu’en mode fenêtré. Pour utiliser cet indicateur dans les applications Win32 en plein écran, l’application doit se présenter dans une fenêtre plein écran sans bordure et désactiver le basculement automatique en plein écran ALT+ENTRÉE en plein écran à l’aide d’IDXGIFactory::MakeWindowAssociation. Les applications UWP qui entrent en mode plein écran en appelant Windows::UI::ViewManagement::ApplicationView::TryEnterFullscreen() sont des fenêtres plein écran sans bordure et peuvent utiliser l’indicateur.
L’appel de Présent (ou Present1) avec cet indicateur et ne répondant pas aux conditions ci-dessus entraîne le retour d’une erreur de DXGI_ERROR_INVALID_CALL à l’application appelante.

Notes

Les options de présentation sont fournies lors de l’appel IDXGISwapChain::P resent ou IDXGISwapChain1::P resent1 . Les mémoires tampons sont spécifiées dans la description de la chaîne d’échange (voir DXGI_SWAP_CHAIN_DESC ou DXGI_SWAP_CHAIN_DESC1).

DXGI_PRESENT_RESTART est valide uniquement pour les chaînes d’échange de modèle inversé et le plein écran. Les applications peuvent utiliser DXGI_PRESENT_RESTART pour récupérer des problèmes de lecture, ainsi que pour ignorer les présentations précédemment mises en file d’attente. L’abandon des présentations précédemment mises en file d’attente est utile si ces présentations en file d’attente sont des scénarios fenêtrés. En particulier, la présentation précédemment mise en file d’attente peut avoir supposé que la fenêtre est d’une ancienne taille (autrement dit, une opération de redimensionnement s’est produite après la soumission).

DXGI_PRESENT_RESTRICT_TO_OUTPUT est valide uniquement pour les chaînes d’échange qui ont spécifié une sortie particulière pour limiter le contenu au moment de la création de ces chaînes d’échange (IDXGIFactory2::CreateSwapChainForHwnd). S’il n’y a pas de sortie à restreindre, l’indicateur n’est pas valide.

DXGI_PRESENT_STEREO_PREFER_RIGHT indique que si la chaîne stéréo présente doit être réduite en mono, l’œil droit doit être utilisé plutôt que l’œil gauche (par défaut). Vous pouvez utiliser cet indicateur si un côté est de qualité supérieure (par exemple, si la paire stéréo est synthétisée à partir d’une image standard).)

DXGI_PRESENT_STEREO_TEMPORARY_MONO indique que le présent doit utiliser la mémoire tampon gauche comme mémoire tampon mono. Vous pouvez utiliser cet indicateur pour éviter de mettre à jour la mémoire tampon appropriée lorsqu’une application n’a temporairement aucun contenu stéréo. Vous devez utiliser cet indicateur chaque fois que cela est possible, car il permet une optimisation significative par le système d’exploitation et, dans certaines circonstances, il peut éviter les artefacts de changement de mode visibles.

Vous devez utiliser l’indicateur DXGI_PRESENT_STEREO_TEMPORARY_MONO de préférence pour basculer vers une chaîne d’échange mono pour la plupart des applications qui, selon vous, utiliseront à nouveau la stéréo. Vous devez équilibrer l’utilisation de cet indicateur dans les applications qui sont extrêmement longues ou qui affichent rarement la stéréo par rapport à l’inconvénient de la mémoire inutilisée.

Notes

Les applications plein écran qui basculent vers une chaîne d’échange mono provoquent un changement de mode qui a généralement des artefacts visibles (par exemple, « clignotement »). Toutefois, le mono temporaire peut ne pas être pris en charge pour les chaînes d’échange en plein écran.

 

Les indicateurs DXGI_PRESENT_STEREO_PREFER_RIGHT et DXGI_PRESENT_STEREO_TEMPORARY_MONO s’appliquent uniquement aux chaînes d’échange stéréo. Si vous les utilisez lorsque vous présentez des chaînes d’échange mono, une opération non valide se produit.

Si vous utilisez l’indicateur DXGI_PRESENT_STEREO_TEMPORARY_MONO lorsque vous présentez une chaîne d’échange stéréo qui ne prend pas en charge le mono temporaire, une erreur se produit, la chaîne d’échange ne s’affiche pas et la présentation retourne DXGI_ERROR_INVALID_CALL.

Configuration requise

Condition requise Valeur
En-tête
DXGI.h

Voir aussi

Constantes DXGI