D3DPRESENT
Descrive la relazione tra la frequenza di aggiornamento dell'adattatore e la frequenza con cui vengono completate le operazioni Present o Present . Questi valori fungono anche da valori di flag per il campo PresentationIntervals di D3DCAPS9.
Costante | Descrizione |
---|---|
|
Usare il buffer anteriore sia come superficie di origine che come superficie di destinazione durante il rendering. La sincronizzazione dei fotogrammi è pianificata, ma la superficie visualizzata non cambia. Questo flag è disponibile solo quando l'applicazione è in modalità schermo intero e D3DSWAPEFFECT_FLIPEX è stato specificato. Questo flag è disponibile solo in Direct3D 9Ex. |
|
Una presentazione non può essere pianificata da un dispositivo hal. Se questo flag è impostato in una chiamata a Present e l'hardware è occupato durante l'elaborazione o l'attesa di un intervallo di sincronizzazione verticale, Present restituirà D3DERR_WASSTILLDRAWING per indicare che l'operazione blit è incompleta. |
|
Riservato. |
|
D3DPRESENT_INTERVAL_IMMEDIATE viene applicato a questa chiamata Present . Questo flag può essere specificato solo quando si usa D3DSWAPEFFECT_FLIPEX. I comportamenti delle presentazioni con finestra e a schermo intero sono gli stessi. Ciò è particolarmente utile per le app multimediali che vogliono eliminare i fotogrammi rilevati in ritardo e presentare fotogrammi successivi in fase di composizione. Se questo flag viene specificato in modo non corretto, verrà restituito un errore di parametro non valido. Quando vengono accodati più fotogrammi consecutivi con D3DPRESENT_FORCEIMMEDIATEs, viene visualizzato solo l'ultimo fotogramma per la presentazione finestrata e a schermo intero. Questo flag è disponibile in Direct3D 9Ex nei sistemi operativi Windows 7 o versioni successive. Quando si usa D3DSWAPEFFECT_FLIPEX, ogni fotogramma presentato utilizzando D3DPRESENT_INTERVAL_IMMEDIATE o D3DPRESENT_INTERVAL_FORCEIMMEDIATE sostituirà l'intervallo presente del frame precedente. Ad esempio, se si accodano i fotogrammi seguenti usando gli effetti di scambio seguenti: frame A (D3DPRESENT_INTERVAL_ONE), frame B(D3DPRESENT_INTERVAL_ONE), frame C(D3DPRESENT_INTERVAL_ONE), frame D(D3DPRESENT_INTERVAL_FORCEIMMEDIATE), frame D sostituirà l'intervallo di frame C presente. I fotogrammi visualizzati per intervallo presente sono frame A, frame B, (frame C sottoposto a override) frame D. Vedere la sezione Osservazioni. |
|
Questo è quasi equivalente a D3DPRESENT_INTERVAL_ONE. Vedere la sezione Osservazioni. |
|
Il conducente attenderà il periodo di ritracciamento verticale (il runtime "seguirà il fascio" per evitare lo strappo).
Le operazioni presenti non saranno interessate più frequentemente rispetto all'aggiornamento dello schermo; il runtime verrà completato al massimo un'operazione Present per ogni periodo di aggiornamento dell'adapter. Equivale all'uso di D3DSWAPEFFECT_COPYVSYNC in DirectX 8.1. Questa opzione è sempre disponibile per catene di scambio finestrate e a schermo intero. Vedere la sezione Osservazioni. |
|
Il conducente attenderà il periodo di ripresa verticale.
Le operazioni presenti non saranno interessate più frequentemente di ogni secondo aggiornamento dello schermo. Controllare il limite PresentationIntervals (vedere D3DCAPS9) per verificare se D3DPRESENT_INTERVAL_TWO è supportato dal driver. |
|
Il conducente attenderà il periodo di ripresa verticale.
Le operazioni presenti non saranno interessate più frequentemente di ogni terzo aggiornamento dello schermo. Controllare il limite PresentationIntervals (vedere D3DCAPS9) per verificare se D3DPRESENT_INTERVAL_THREE è supportato dal driver. |
|
Il conducente attenderà il periodo di ripresa verticale.
Le operazioni presenti non saranno interessate più frequentemente di ogni quarto aggiornamento dello schermo. Controllare il membro PresentationIntervals (vedere D3DCAPS9) per verificare se D3DPRESENT_INTERVAL_FOUR è supportato dal driver. |
|
Il runtime aggiorna immediatamente l'area client della finestra e potrebbe farlo più volte durante il periodo di aggiornamento dell'adattatore. Equivale all'uso di D3DSWAPEFFECT_COPY in DirectX 8.
Le operazioni presenti potrebbero essere interessate immediatamente. Questa opzione è sempre disponibile per catene di scambio finestrate e a schermo intero. Vedere la sezione Osservazioni. |
|
Il contenuto del buffer nascosto da presentare è nello spazio dei colori lineare.
|
D3DPRESENT_VIDEO_RESTRICT_TO_MONITOR |
Ritaglia il contenuto di cui è stato eseguito il rendering nel monitor o nel dispositivo di destinazione dell'adattatore, mostra le anteprime per il contenuto nella visualizzazione Flip3D e nelle anteprime della barra delle applicazioni su altri monitor. Questo flag è disponibile solo in Direct3D 9Ex. Per altri dettagli su questa funzionalità di Windows Vista, vedi Desktop Window Manager . Se non si esegue in modalità composizione desktop, il flag restituisce lo stesso comportamento di D3DPRESENTFLAG_DEVICECLIP. Nota: Questo flag deve essere usato solo con effetto di scambio D3DSWAPEFFECT_FLIPEX. L'uso di questo flag con altri effetti di scambio è deprecato e potrebbe non funzionare nelle versioni future di Windows. |
|
Aggiornamenti la posizione di sovrimpressione o i dati colorkey senza causare un capovolgimento effettivo e senza modificare la durata con cui viene visualizzata l'immagine. Questo flag è disponibile solo in Direct3D 9Ex. |
|
Disattiva l'hardware di sovrimpressione. Questo flag è disponibile solo in Direct3D 9Ex. |
|
Ridisegna i dati colorkey. Questo flag è disponibile solo in Direct3D 9Ex. |
Commenti
La modalità finestra supporta D3DPRESENT_INTERVAL_DEFAULT, D3DPRESENT_INTERVAL_IMMEDIATE e D3DPRESENT_INTERVAL_ONE. D3DPRESENT_INTERVAL_DEFAULT e le D3DPRESENT_INTERVAL_ONE sono quasi equivalenti (vedere le informazioni relative alla risoluzione del timer di seguito). Essi eseguono in modo analogo a COPY_VSYNC in quanto c'è un solo presente per fotogramma, e impediscono la lacrima con trave-following. Al contrario, D3DPRESENT_INTERVAL_IMMEDIATE tenterà di fornire una frequenza di presentazione illimitata.
La modalità schermo intero supporta un utilizzo simile alla modalità finestra supportando D3DPRESENT_INTERVAL_IMMEDIATE indipendentemente dalla frequenza di aggiornamento o dall'effetto di scambio. D3DPRESENT_INTERVAL_DEFAULT usa la risoluzione del timer di sistema predefinita, mentre il D3DPRESENT_INTERVAL_ONE chiama timeBeginPeriod per migliorare la risoluzione del timer di sistema. Ciò migliora la qualità della sincronizzazione verticale, ma consuma leggermente più tempo di elaborazione. Entrambi i parametri tentano di sincronizzare verticalmente.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|