Condividi tramite


struttura DXGI_PRESENT_PARAMETERS (dxgi1_2.h)

Vengono descritte le informazioni sul presente che consentono all'ottimizzazione della presentazione del sistema operativo.

Sintassi

typedef struct DXGI_PRESENT_PARAMETERS {
  UINT  DirtyRectsCount;
  RECT  *pDirtyRects;
  RECT  *pScrollRect;
  POINT *pScrollOffset;
} DXGI_PRESENT_PARAMETERS;

Members

DirtyRectsCount

Numero di rettangoli aggiornati che si aggiornano nel buffer nascosto per il frame presentato. Il sistema operativo usa queste informazioni per ottimizzare la presentazione. È possibile impostare questo membro su 0 per indicare che si aggiorna l'intero frame.

pDirtyRects

Elenco di rettangoli aggiornati che si aggiornano nel buffer nascosto per il frame presentato. Un'applicazione deve aggiornare ogni singolo pixel in ogni rettangolo che segnala al runtime; l'applicazione non può presupporre che i pixel vengano salvati dal frame precedente. Per altre informazioni sull'aggiornamento di rettangoli dirty, vedere Osservazioni. È possibile impostare questo membro su NULL se DirtyRectsCount è 0. Un'applicazione non deve aggiornare alcun pixel al di fuori dei rettangoli dirty.

pScrollRect

Puntatore al rettangolo scorrevole. Il rettangolo scorrevole è il rettangolo del frame precedente da cui il contenuto del blocco di bit di runtime trasferisce (bitblts) il contenuto. Il runtime usa anche il rettangolo scorrevole per ottimizzare la presentazione nei server terminal e negli scenari di visualizzazione indiretti.

Il rettangolo scorrevole descrive anche il rettangolo di destinazione, ovvero l'area nella cornice corrente riempita con contenuto scorrevole. È possibile impostare questo membro su NULL per indicare che non viene eseguito lo scorrimento del contenuto dal frame precedente.

pScrollOffset

Puntatore all'offset dell'area a scorrimento che passa dal rettangolo di origine (del frame precedente) al rettangolo di destinazione (del frame corrente). È possibile impostare questo membro su NULL per indicare nessun offset.

Commenti

Questa struttura viene utilizzata dal metodo Present1 .

Il rettangolo di scorrimento e l'elenco di rettangoli dirty potrebbero sovrapporsi. In questo caso, i rettangoli sporchi hanno priorità. Le applicazioni possono quindi avere parti di contenuto dinamico sopra un'area a scorrimento. Ad esempio, un'applicazione può scorrere una pagina e riprodurre un video contemporaneamente.

Il diagramma e le coordinate seguenti illustrano questo esempio.

Illustrazione di rettangoli sporchi e di scorrimento sovrapposti
DirtyRectsCount = 2
pDirtyRects[ 0 ] = { 10, 30, 40, 50 } // Video
pDirtyRects[ 1 ] = { 0, 70, 50, 80 } // New line
*pScrollRect = { 0, 0, 50, 70 }
*pScrollOffset = { 0, -10 }

Parti del frame e del contenuto precedenti di cui viene eseguito il rendering dell'applicazione vengono combinate per produrre il frame finale presentato dal sistema operativo sullo schermo di visualizzazione. La maggior parte della finestra viene scorrere dal frame precedente. L'applicazione deve aggiornare il fotogramma video con il nuovo blocco di contenuto visualizzato a causa dello scorrimento.

Il rettangolo tratteggiato mostra il rettangolo di scorrimento nel frame corrente. Il rettangolo di scorrimento viene specificato dal membro pScrollRect . La freccia mostra l'offset di scorrimento. L'offset di scorrimento viene specificato dal membro pScrollOffset . I rettangoli riempiti mostrano rettangoli sporchi aggiornati con il nuovo contenuto dell'applicazione. I rettangoli riempiti vengono specificati dai membri DirtyRectsCount e pDirtyRectsRects .

Il rettangolo di scorrimento e l'offset non sono supportati per l'opzione DXGI_SWAP_EFFECT_DISCARD o DXGI_SWAP_EFFECT_SEQUENTIAL presente. I rettangoli dirty e il rettangolo di scorrimento non sono supportati per le catene di scambio multicampionamento.

L'implementazione effettiva della composizione e dei bitblt necessari è diversa per il modello bitblt e il modello flip. Per altre info su questi modelli, vedi DXGI Flip Model.

Per altre info sulla catena di scambio del modello capovolgimento e sull'ottimizzazione della presentazione, vedi Miglioramento della presentazione con il modello capovolgimento, rettangoli sporchi e aree scorrevoli.

Requisiti

Requisito Valore
Client minimo supportato Windows 8 e aggiornamento della piattaforma per Windows 7 [app desktop | App UWP]
Server minimo supportato Windows Server 2012 e aggiornamento della piattaforma per Windows Server 2008 R2 [app desktop | App UWP]
Intestazione dxgi1_2.h

Vedi anche

Strutture DXGI