DXGI_PRESENT
Le costanti DXGI_PRESENT specificano le opzioni per la presentazione dei fotogrammi all'output.
Costante/valore | Descrizione |
---|---|
|
Presentare un frame da ogni buffer (a partire dal buffer corrente) all'output. |
DXGI_PRESENT_DO_NOT_SEQUENCE 0x0000002UL |
Presentare un frame dal buffer corrente all'output. Usare questo flag in modo che la presentazione possa usare la sincronizzazione verticale vuota anziché i buffer di sequenziazione nella catena in modo consueto. Nota: Se l'applicazione chiamante imposta la costante DXGI_PRESENT_DO_NOT_SEQUENCE sulla prima operazione presente, ovvero quando non è presente alcun buffer corrente, il runtime ignora l'operazione presente e non chiama il driver. |
|
Non presentare il frame all'output. Lo stato della catena di scambio verrà testato e gli errori appropriati restituiti. DXGI_PRESENT_TEST è destinato all'uso solo quando si passa dallo stato inattiva; non usarlo per determinare quando passare allo stato di inattività perché in questo modo può lasciare la catena di scambio non in grado di uscire dalla modalità a schermo intero. |
|
Specifica che il runtime eliminerà i regali in coda in sospeso. |
|
Specifica che il runtime avrà esito negativo nella presentazione , ovvero non riuscirà una chiamata a IDXGISwapChain1::P resent1, con il codice di errore DXGI_ERROR_WAS_STILL_DRAWING se il thread chiamante è bloccato; il runtime restituisce DXGI_ERROR_WAS_STILL_DRAWING anziché dormire finché la dipendenza non viene risolta. Direct3D 11: Questo valore di enumerazione è supportato a partire da Windows 8. |
DXGI_PRESENT_RESTRICT_TO_OUTPUT 0x00000010UL |
Indica che il contenuto della presentazione verrà visualizzato solo nell'output specifico. Il contenuto non sarà visibile in altri output. Ad esempio, se l'utente tenta di spostare il contenuto video in un altro output, il contenuto video non sarà visibile. Direct3D 11: Questo valore di enumerazione è supportato a partire da Windows 8. Nota: Questo flag deve essere usato solo con effetto di scambio DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL o DXGI_SWAP_EFFECT_FLIP_DISCARD . L'uso di questo flag con altri effetti di scambio è deprecato e potrebbe non funzionare nelle versioni future di Windows. |
|
Indica che se la visualizzazione stereo deve essere ridotta a mono, la visualizzazione a destra viene usata anziché la visualizzazione a sinistra. Direct3D 11: Questo valore di enumerazione è supportato a partire da Windows 8. |
|
Indica che la presentazione deve usare il buffer sinistro come buffer mono. Un'applicazione chiama il metodo IDXGISwapChain1::IsTemporaryMonoSupported per determinare se una catena di scambio supporta "mono temporanei". Direct3D 11: Questo valore di enumerazione è supportato a partire da Windows 8. |
DXGI_PRESENT_USE_DURATION 0x00000100UL |
Questo flag deve essere impostato dalle app multimediali che attualmente usano una durata di presente personalizzata (frequenza di aggiornamento personalizzata). Vedere IDXGISwapChainMedia. Nota: Questo valore è supportato a partire da Windows 8.1. |
|
L'assegnazione di strappi è un requisito di visualizzazione della frequenza di aggiornamento variabile. Le condizioni per l'uso di DXGI_PRESENT_ALLOW_TEARING durante la presentazione sono le seguenti:
|
Commenti
Le opzioni di presentazione vengono fornite durante la chiamata IDXGISwapChain::P resent o IDXGISwapChain1::P resent1. I buffer vengono specificati nella descrizione della catena di scambio (vedere DXGI_SWAP_CHAIN_DESC o DXGI_SWAP_CHAIN_DESC1).
DXGI_PRESENT_RESTART è valido solo per catene di scambio di modelli a capovolgimento e schermo intero. Le applicazioni possono usare DXGI_PRESENT_RESTART per ripristinare gli errori nella riproduzione, nonché per eliminare le presentazioni in coda in precedenza. L'eliminazione delle presentazioni in coda in precedenza è utile se tali presentazioni in coda sono scenari finestrati. In particolare, la presentazione in coda in precedenza potrebbe aver assunto che la finestra sia una dimensione precedente, ovvero un'operazione di ridimensionamento eseguita dopo l'invio.
DXGI_PRESENT_RESTRICT_TO_OUTPUT è valido solo per le catene di scambio che specificavano un determinato output per limitare il contenuto a quando tali catene di scambio sono state create (IDXGIFactory2::CreateSwapChainForHwnd). Se non è presente alcun output da limitare, il flag non è valido.
DXGI_PRESENT_STEREO_PREFER_RIGHT indica che se lo stereo presente deve essere ridotto a mono l'occhio destro deve essere usato anziché l'occhio sinistro (predefinito). È possibile usare questo flag se un lato è di qualità superiore , ad esempio se la coppia stereo viene sintetizzata da un'immagine standard.
DXGI_PRESENT_STEREO_TEMPORARY_MONO indica che il presente deve usare il buffer sinistro come buffer mono. È possibile usare questo flag per evitare di aggiornare il buffer corretto quando un'applicazione non ha temporaneamente contenuto stereo. È consigliabile usare questo flag ogni volta che è possibile perché consente un'ottimizzazione significativa dal sistema operativo e in alcune circostanze può evitare artefatti di modifica della modalità visibile.
È consigliabile usare il flag DXGI_PRESENT_STEREO_TEMPORARY_MONO in preferenza per passare a una catena di scambio mono per la maggior parte delle applicazioni che si prevede userà di nuovo stereo. È necessario bilanciare l'uso di questo flag nelle applicazioni che sono estremamente lunghe o che raramente visualizzano stereo contro lo svantaggio della memoria inutilizzata.
Nota
Le applicazioni a schermo intero che passano a una catena di scambio mono causano una modifica della modalità che in genere presenta artefatti visibili (ad esempio, "flashing"). Tuttavia, mono temporaneo potrebbe non essere supportato per catene di scambio a schermo intero.
I flag di DXGI_PRESENT_STEREO_PREFER_RIGHT e DXGI_PRESENT_STEREO_TEMPORARY_MONO si applicano solo alle catene di scambio stereo. Se li si usa quando si presentano catene di scambio mono, si verifica un'operazione non valida.
Se si usa il flag DXGI_PRESENT_STEREO_TEMPORARY_MONO quando si presenta una catena di scambio stereo che non supporta mono temporanea, si verifica un errore, la catena di scambio non viene visualizzata e la presentazione restituisce DXGI_ERROR_INVALID_CALL.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Vedi anche