D3DPRESENT

Décrit la relation entre le taux d’actualisation de l’adaptateur et la vitesse à laquelle les opérations Présente ou Présente sont effectuées. Ces valeurs servent également de valeurs d’indicateur pour le champ PresentationIntervals de D3DCAPS9.

Constant Description
D3DPRESENT_DONOTFLIP
Utilisez la mémoire tampon frontale comme surface source et cible pendant le rendu. Une synchronisation d’images est planifiée, mais la surface affichée ne change pas. Cet indicateur n’est disponible que lorsque l’application est en mode plein écran et que D3DSWAPEFFECT_FLIPEX a été spécifié.
Cet indicateur est disponible dans Direct3D 9Ex uniquement.
D3DPRESENT_DONOTWAIT
Une présentation ne peut pas être planifiée par un appareil de hal. Si cet indicateur est défini dans un appel à Présent et que le matériel est occupé à traiter ou à attendre un intervalle de synchronisation vertical, Présent retourne D3DERR_WASSTILLDRAWING pour indiquer que l’opération de fente est incomplète.
D3DPRESENT_FLIPRESTART
Réservé.
D3DPRESENT_FORCEIMMEDIATE
D3DPRESENT_INTERVAL_IMMEDIATE est appliqué à cet appel présent . Cet indicateur ne peut être spécifié que lors de l’utilisation de D3DSWAPEFFECT_FLIPEX. Les comportements de présentation fenêtré et en plein écran sont identiques. Cela est particulièrement utile pour les applications multimédias qui souhaitent ignorer des images qui ont été détectées comme tardives et présenter des images ultérieures au moment de la composition. Une erreur de paramètre non valide est retournée si cet indicateur n’est pas spécifié de manière incorrecte. Lorsque plusieurs images consécutives avec D3DPRESENT_FORCEIMMEDIATEs sont mises en file d’attente, seule la dernière image s’affiche, à la fois pour la présentation fenêtré et en plein écran.
Cet indicateur est disponible dans Direct3D 9Ex sur les systèmes d’exploitation Windows 7 ou ultérieurs.
Lorsque vous utilisez D3DSWAPEFFECT_FLIPEX, chaque image présentée à l’aide de D3DPRESENT_INTERVAL_IMMEDIATE ou D3DPRESENT_INTERVAL_FORCEIMMEDIATE remplace l’intervalle présent de l’image précédente. Par exemple, si vous placez en file d’attente les images suivantes à l’aide des effets d’échange suivants : frame A (D3DPRESENT_INTERVAL_ONE), frame B(D3DPRESENT_INTERVAL_ONE), frame C(D3DPRESENT_INTERVAL_ONE), frame D(D3DPRESENT_INTERVAL_FORCEIMMEDIATE), frame D remplace l’intervalle actuel du frame C. Les images affichées par intervalle actuel sont l’image A, l’image B (image C remplacée par) l’image D.
Consultez la section Notes.
D3DPRESENT_INTERVAL_DEFAULT
Cela équivaut presque à D3DPRESENT_INTERVAL_ONE. Consultez la section Remarques.
D3DPRESENT_INTERVAL_ONE
Le pilote attend la période de retracement vertical (le runtime « suit le faisceau » pour éviter la déchirure). Les opérations présentes ne seront pas affectées plus fréquemment que l’actualisation de l’écran ; le runtime se termine au plus une opération Présente par période d’actualisation de l’adaptateur. Cela équivaut à utiliser D3DSWAPEFFECT_COPYVSYNC dans DirectX 8.1. Cette option est toujours disponible pour les chaînes d’échange fenêtrés et plein écran. Consultez la section Remarques.
D3DPRESENT_INTERVAL_TWO
Le pilote attend la période de retracement vertical. Les opérations présentes ne seront pas affectées plus fréquemment que chaque actualisation de l’écran sur deux. Vérifiez la limite PresentationIntervals (voir D3DCAPS9) pour voir si D3DPRESENT_INTERVAL_TWO est pris en charge par le pilote.
D3DPRESENT_INTERVAL_THREE
Le pilote attend la période de retracement vertical. Les opérations présentes ne seront pas affectées plus fréquemment que chaque actualisation de l’écran sur trois. Vérifiez la limite PresentationIntervals (voir D3DCAPS9) pour voir si D3DPRESENT_INTERVAL_THREE est pris en charge par le pilote.
D3DPRESENT_INTERVAL_FOUR
Le pilote attend la période de retracement vertical. Les opérations présentes ne seront pas affectées plus fréquemment que chaque quatrième actualisation de l’écran. Vérifiez le membre PresentationIntervals (voir D3DCAPS9) pour voir si D3DPRESENT_INTERVAL_FOUR est pris en charge par le pilote.
D3DPRESENT_INTERVAL_IMMEDIATE
Le runtime met immédiatement à jour la zone cliente de la fenêtre et peut le faire plusieurs fois pendant la période d’actualisation de l’adaptateur. Cela équivaut à utiliser D3DSWAPEFFECT_COPY dans DirectX 8. Les opérations présentes peuvent être affectées immédiatement. Cette option est toujours disponible pour les chaînes d’échange fenêtrés et plein écran. Consultez la section Remarques.
D3DPRESENT_LINEAR_CONTENT
Le contenu de la mémoire tampon arrière à présenter se trouve dans l’espace de couleurs linéaire.
  • La présentation convertira implicitement de l’espace linéaire en sRGB (gamma = 2.2). Il s’agit de la seule conversion prise en charge.
  • Étant donné que cet indicateur représente une propriété du contenu de la mémoire tampon arrière, l’indicateur peut être spécifié lors d’un appel présent . En d’autres termes, une application peut présenter du contenu linéaire dans une image, puis basculer vers le contenu corrigé dans la suivante.
  • Cet indicateur est ignoré lorsque la chaîne d’échange est en plein écran. (Notez que cet indicateur est disponible uniquement sur la version explicite de la chaîne d’échange de Présent. La méthode Present ne prend pas de paramètre flags.)
  • Cet indicateur est toujours accepté, mais n’entrera en vigueur que lorsque le pilote expose >D3DCAPS3_LINEAR_TO_SRGB_PresentATION.
  • Le seul format de mémoire tampon arrière pris en charge est X8R8G8B8.
Consultez Chaînes d’échange fenêtrés.
D3DPRESENT_VIDEO_RESTRICT_TO_MONITOR
Clipse le contenu rendu sur le moniteur/l’appareil ciblé par l’adaptateur, affiche les miniatures du contenu dans la vue Flip3D et les miniatures de la barre des tâches sur d’autres moniteurs.
Cet indicateur est disponible dans Direct3D 9Ex uniquement.
Pour plus d’informations sur cette fonctionnalité de Windows Vista, consultez Gestionnaire de fenêtres de bureau . Si vous n’exécutez pas en mode composition de bureau, l’indicateur affiche le même comportement que D3DPRESENTFLAG_DEVICECLIP.
Note: Cet indicateur ne doit être utilisé qu’avec un effet d’échange D3DSWAPEFFECT_FLIPEX. 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.
D3DPRESENT_UPDATEOVERLAYONLY
Mises à jour la position de superposition ou les données colorkey sans provoquer un retournement réel et sans modifier la durée d’affichage de l’image.
Cet indicateur est disponible dans Direct3D 9Ex uniquement.
D3DPRESENT_HIDEOVERLAY
Désactive le matériel de superposition.
Cet indicateur est disponible dans Direct3D 9Ex uniquement.
D3DPRESENT_UPDATECOLORKEY
Redessine les données colorkey.
Cet indicateur est disponible dans Direct3D 9Ex uniquement.

Notes

Le mode fenêtré prend en charge les D3DPRESENT_INTERVAL_DEFAULT, les D3DPRESENT_INTERVAL_IMMEDIATE et les D3DPRESENT_INTERVAL_ONE. D3DPRESENT_INTERVAL_DEFAULT et les D3DPRESENT_INTERVAL_ONE sont presque équivalents (voir les informations sur la résolution du minuteur ci-dessous). Ils fonctionnent de la même manière que COPY_VSYNC en ce qu’il n’y en a qu’un seul présent par image, et ils empêchent les déchirures avec le suivi de faisceau. En revanche, D3DPRESENT_INTERVAL_IMMEDIATE tente de fournir un taux de présentation illimité.

Le mode plein écran prend en charge une utilisation similaire au mode fenêtré en prenant en charge D3DPRESENT_INTERVAL_IMMEDIATE quel que soit le taux d’actualisation ou l’effet d’échange. D3DPRESENT_INTERVAL_DEFAULT utilise la résolution du minuteur système par défaut, tandis que le D3DPRESENT_INTERVAL_ONE appelle timeBeginPeriod pour améliorer la résolution du minuteur système. Cela améliore la qualité de la synchronisation verticale, mais consomme un peu plus de temps de traitement. Les deux paramètres tentent de se synchroniser verticalement.

Configuration requise

Condition requise Valeur
En-tête
D3d9.h

Voir aussi

Constantes Direct3D