Partager via


D3DPRESENT

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

Constante Descriptif
D3DPRESENT_DONOTFLIP
Utilisez la mémoire tampon frontale comme surface source et cible pendant le rendu. Une synchronisation d’images est planifiée, mais l’aire affichée ne change pas. Cet indicateur est disponible uniquement lorsque l’application est en mode plein écran et que D3DSWAPEFFECT_FLIPEX a été spécifié.
Cet indicateur est disponible uniquement dans Direct3D 9Ex.
D3DPRESENT_DONOTWAIT
Une présentation ne peut pas être planifiée par un appareil hal. Si cet indicateur est défini dans un appel à Present et que le matériel est occupé au traitement ou en attente d’un intervalle de synchronisation vertical, Present retourne D3DERR_WASSTILLDRAWING pour indiquer que l’opération blit 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 avec fenêtres et plein écran sont identiques. Cela est particulièrement utile pour les applications multimédias qui souhaitent ignorer les images détectées en retard 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 est 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 est affichée, pour la présentation à la fois en fenêtres 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 actuel 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, (frame C substituée par) image D.
Voir les remarques.
D3DPRESENT_INTERVAL_DEFAULT
Cela équivaut presque à D3DPRESENT_INTERVAL_ONE. Reportez-vous aux notes.
D3DPRESENT_INTERVAL_ONE
Le pilote attend la période de trace verticale (le runtime va « suivre le faisceau » pour empêcher 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 Actuelle par période d’actualisation de l’adaptateur. Cela équivaut à utiliser D3DSWAPEFFECT_COPY_VSYNC dans DirectX 8.1. Cette option est toujours disponible pour les chaînes d’échange en plein écran et fenêtrés. Reportez-vous aux notes.
D3DPRESENT_INTERVAL_TWO
Le conducteur attend la période de trace verticale. Les opérations présentes ne seront pas affectées plus fréquemment que chaque seconde actualisation de l’écran. Vérifiez la limite PresentationIntervals (voir D3DCAPS9) pour voir si D3DPRESENT_INTERVAL_TWO est pris en charge par le pilote.
D3DPRESENT_INTERVAL_THREE
Le conducteur attend la période de trace verticale. Les opérations présentes ne seront pas affectées plus fréquemment que chaque troisième actualisation de l’écran. Vérifiez la limite PresentationIntervals (voir D3DCAPS9) pour voir si D3DPRESENT_INTERVAL_THREE est pris en charge par le pilote.
D3DPRESENT_INTERVAL_FOUR
Le conducteur attend la période de trace verticale. Les opérations présentes ne seront pas affectées plus fréquemment que toutes les quatrième actualisations d’é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 à jour immédiatement la zone cliente de 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 en plein écran et fenêtrés. Reportez-vous aux notes.
D3DPRESENT_LINEAR_CONTENT
Le contenu de la mémoire tampon arrière à présenter se trouve dans l’espace de couleur linéaire.
  • La présentation convertit 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é pendant un appel Présent . En d’autres termes, une application peut présenter du contenu linéaire dans un cadre, puis basculer vers le contenu corrigé dans la suite.
  • 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 actuelle. La méthode Present ne prend pas de paramètre d’indicateur.)
  • Cet indicateur est toujours accepté, mais prend effet uniquement lorsque le pilote expose >D3DCAPS3_LINEAR_TO_SRGB_PresentATION.
  • Le seul format de mémoire tampon arrière pris en charge est X8R8G8B8.
Consultez les chaînes d’échange fenêtrés.
D3DPRESENT_VIDEO_RESTRICT_TO_MONITOR
Extrait le contenu rendu sur le moniteur/appareil que l’adaptateur cible, affiche les miniatures du contenu dans la vue Flip3D et les miniatures de barre des tâches sur d’autres moniteurs.
Cet indicateur est disponible uniquement dans Direct3D 9Ex.
Pour plus d’informations sur cette fonctionnalité de Windows Vista, consultez Desktop Window Manager . Si vous n’exécutez pas en mode composition de bureau, l’indicateur donne le même comportement que D3DPRESENTFLAG_DEVICECLIP.
Note: Cet indicateur ne doit être utilisé qu’avec l’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 futures versions de Windows.
D3DPRESENT_UPDATEOVERLAYONLY
Met à jour la position de superposition ou les données de touche de couleur sans provoquer de retournement réel et sans modifier la durée avec laquelle l’image est affichée.
Cet indicateur est disponible uniquement dans Direct3D 9Ex.
D3DPRESENT_HIDEOVERLAY
Désactive le matériel de superposition.
Cet indicateur est disponible uniquement dans Direct3D 9Ex.
D3DPRESENT_UPDATECOLORKEY
Redessine les données de la clé de couleur.
Cet indicateur est disponible uniquement dans Direct3D 9Ex.

Remarques

Le mode fenêtré prend en charge D3DPRESENT_INTERVAL_DEFAULT, D3DPRESENT_INTERVAL_IMMEDIATE et D3DPRESENT_INTERVAL_ONE. D3DPRESENT_INTERVAL_DEFAULT et les D3DPRESENT_INTERVAL_ONE sont presque équivalents (consultez les informations relatives à la résolution du minuteur ci-dessous). Ils s’exécutent de la même façon que COPY_VSYNC en ce qu’il n’y a qu’un seul présent par cadre, et ils empêchent la déchirure avec le faisceau suivant. En revanche, D3DPRESENT_INTERVAL_IMMEDIATE tentera de fournir un taux de présentation illimité.

Le mode plein écran prend en charge l’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 légèrement plus de temps de traitement. Les deux paramètres tentent de se synchroniser verticalement.

Spécifications

Requirement Valeur
Header
D3d9.h

Voir aussi

Constantes Direct3D