Partager via


IDXGISwapChain1 ::P resent1, méthode (dxgi1_2.h)

Présente un cadre sur l’écran d’affichage.

Syntaxe

HRESULT Present1(
       UINT                          SyncInterval,
       UINT                          PresentFlags,
  [in] const DXGI_PRESENT_PARAMETERS *pPresentParameters
);

Paramètres

SyncInterval

Entier qui spécifie comment synchroniser la présentation d’un cadre avec le vide vertical.

Pour le modèle de transfert par bloc de bits (bitblt) (DXGI_SWAP_EFFECT_DISCARD ou DXGI_SWAP_EFFECT_SEQUENTIAL), les valeurs sont les suivantes :

  • 0 - La présentation se produit immédiatement, il n’y a pas de synchronisation.
  • 1 à 4 - Synchroniser la présentation après le nième vide vertical.
Pour le modèle inversé (DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL), les valeurs sont les suivantes :
  • 0 - Annulez le temps restant sur l’image présentée précédemment et ignorez cette image si une image plus récente est mise en file d’attente.
  • 1 à 4 - Synchroniser la présentation pour au moins n vides verticaux.
Pour obtenir un exemple qui montre comment les valeurs d’intervalle de synchronisation affectent une file d’attente de présentation inversée, consultez Remarques.

Si la région de mise à jour chevauche plusieurs sorties (chacune représentée par IDXGIOutput1), Present1 effectue la synchronisation avec la sortie qui contient le plus grand sous-rectangle de la zone cliente de la fenêtre cible.

PresentFlags

Valeur entière qui contient les options de présentation de la chaîne d’échange. Ces options sont définies par les constantes DXGI_PRESENT .

[in] pPresentParameters

Pointeur vers une structure de DXGI_PRESENT_PARAMETERS qui décrit les rectangles mis à jour et les informations de défilement du cadre à présenter.

Valeur retournée

Les valeurs de retour possibles sont les suivantes : S_OK, DXGI_ERROR_DEVICE_REMOVED , DXGI_STATUS_OCCLUDED, DXGI_ERROR_INVALID_CALL ou E_OUTOFMEMORY.

Remarques

Une application peut utiliser Present1 pour optimiser la présentation en spécifiant les rectangles de défilement et de sale. Lorsque le runtime dispose d’informations sur ces rectangles, le runtime peut effectuer les bits nécessaires pendant la présentation plus efficacement et transmettre ces métadonnées au Gestionnaire de fenêtres de bureau (DWM). Le DWM peut ensuite utiliser les métadonnées pour optimiser la présentation et passer les métadonnées aux affichages indirects et aux serveurs de terminal pour optimiser le trafic sur le réseau. Une application doit limiter ses modifications aux sale régions qu’elle transmet à Present1, ainsi que modifier l’ensemble de la région sale pour éviter que le contenu des ressources non définies ne soit exposé.

Pour les chaînes d’échange de modèle de présentation inversées que vous créez avec le jeu de valeurs DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL , une présentation réussie entraîne une dissociation de la mémoire tampon arrière 0 du pipeline graphique, sauf lorsque vous passez l’indicateur DXGI_PRESENT_DO_NOT_SEQUENCE dans le paramètre Flags .

Pour plus d’informations sur la façon dont les valeurs de données changent lorsque vous présentez du contenu à l’écran, consultez Conversion de données pour l’espace de couleurs.

Pour plus d’informations sur l’appel de Present1 lorsque votre application utilise plusieurs threads, consultez Considérations multithread et Multithreading et DXGI.

File d’attente retourner le modèle de présentation

Supposons que les images suivantes avec des valeurs d’intervalle de synchronisation soient mises en file d’attente du plus ancien (A) au plus récent (E) avant d’appeler Present1.

A : 3, B : 0, C : 0, D : 1, E : 0

Lorsque vous appelez Present1, le runtime affiche le cadre A pour seulement 1 intervalle vide vertical. Le runtime arrête l’image A tôt en raison de l’intervalle de synchronisation 0 dans l’image B. Ensuite, le runtime affiche l’image D pour un intervalle vide vertical de 1, puis l’image E jusqu’à ce que vous envoyiez une nouvelle présentation. Le runtime ignore les trames B et C.

Taux d’actualisation variable affiché

Il est obligatoire que le taux d’actualisation variable affiche que la déchirure soit activée. La méthode CheckFeatureSupport peut être utilisée pour déterminer si cette fonctionnalité est disponible, et pour définir les indicateurs requis, reportez-vous aux descriptions des DXGI_PRESENT_ALLOW_TEARING et DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING, et la section Taux d’actualisation variable affiche/Vsync off des améliorations de DXGI 1.5.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 et mise à jour de plateforme pour Windows 7 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2012 et mise à jour de plateforme pour Windows Server 2008 R2 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête dxgi1_2.h
Bibliothèque Dxgi.lib

Voir aussi

IDXGISwapChain1

Présent