Metodo IDCompositionTexture::GetAvailableFence (dcomp.h)
Importante
Alcune informazioni si riferiscono a un prodotto in versione preliminare che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Recupera una coppia di valori/limite di sincronizzazione Direct3D che indica quando la trama di composizione diventerà disponibile, se tali informazioni sono note. Il valore restituito dipende dallo stato di disponibilità della trama di composizione. Uno stato di disponibilità specifica se, e quando, è possibile eseguire il rendering nella trama di composizione.
Vedere la sezione Osservazioni per gli stati di disponibilità, le relative descrizioni e il comportamento di GetAvailableFence per ogni stato.
Se una trama di composizione diventa disponibile, l'app deve prestare attenzione a eseguire il rendering solo nella sottorezione esatta della trama Direct3D a cui fa riferimento.
Sintassi
HRESULT GetAvailableFence(
UINT64 *fenceValue,
REFIID iid,
void **availableFence
);
Parametri
fenceValue
Tipo: _Out_ UINT64*
Valore del recinto restituito.
iid
Tipo: _In_ REFIID
Identificatore di interfaccia.
availableFence
Tipo: _Outptr_result_maybenull_ void**
Limite disponibile restituito o nullptr
, a seconda dello stato di disponibilità della trama di composizione. Per informazioni dettagliate, vedere la sezione Osservazioni .
Valore restituito
Tipo: HRESULT
Se la funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Commenti
Ecco gli stati di disponibilità, le relative descrizioni e il comportamento di GetAvailableFence per ogni stato.
immediatamente disponibile. La trama di composizione non viene visualizzata dal gestore finestre desktop (DWM), né i commit dell'applicazione vengono accodati per farlo. Quindi la trama di composizione è sicura per scrivere immediatamente. GetAvailableFence restituisce la recinzione disponibile, che corrisponde già al valore restituito.
presto disponibile. La trama di composizione è attualmente visualizzata da DWM, ma l'applicazione l'ha rimossa dalla struttura ad albero visuale ed è stato eseguito il commit in DWM. Tuttavia, il commit non è ancora stato elaborato da DWM, quindi DWM non ha ancora smesso di visualizzare la trama. Il rendering dell'app può essere eseguito in una trama presto disponibile se tale lavoro viene sincronizzato con il recinto disponibile della trama. GetAvailableFence restituisce la recinzione disponibile. La trama di composizione sarà sicura per scrivere in quando tale recinto viene segnalato al valore restituito.
non disponibile. La trama di composizione è attualmente visualizzata da DWM o è in coda per la visualizzazione da parte di DWM. L'app non dovrebbe quindi scriverla.
GetAvailableFence restituiscenullptr
invece di un recinto.
Il recinto disponibile descrive la disponibilità di una singola trama di composizione. Più trame di composizione possono fare riferimento alla stessa trama Direct3D, se ogni trama di composizione accetta un'area diversa (non sovrapposta) della trama Direct3D più grande specificando un rect di origine (una tecnica nota come atlasing). In un caso simile, se una trama di composizione diventa disponibile, l'app deve prestare attenzione a rilasciare il rendering solo nella sottorezione esatta della trama Direct3D; per assicurarsi di non interferire con i pixel che potrebbero appartenere ad altre trame di composizione (che potrebbero non essere disponibili). Ciò è dovuto al fatto che aree diverse di una singola trama Direct3D potrebbero avere stati di disponibilità diversi.
Requisiti
Requisito | Valore |
---|---|
Intestazione | dcomp.h |