Condividi tramite


D3DImage.Unlock Metodo

Definizione

Decrementa il conteggio dei blocchi per D3DImage.

public:
 void Unlock();
public void Unlock ();
member this.Unlock : unit -> unit
Public Sub Unlock ()

Esempio

Nell'esempio di codice seguente viene illustrato come chiamare il metodo per copiare il Unlock buffer back aggiornato nel buffer anteriore. Per altre informazioni, vedere Procedura dettagliata: Hosting di contenuto Direct3D9 in WPF.

d3dimg.Lock();
// Repeatedly calling SetBackBuffer with the same IntPtr is 
// a no-op. There is no performance penalty.
d3dimg.SetBackBuffer(D3DResourceType.IDirect3DSurface9, pSurface);
HRESULT.Check(Render());
d3dimg.AddDirtyRect(new Int32Rect(0, 0, d3dimg.PixelWidth, d3dimg.PixelHeight));
d3dimg.Unlock();

Commenti

Quando il conteggio dei blocchi per il valore raggiunge zero, l'oggetto D3DImage D3DImage viene completamente sbloccato. L'oggetto D3DImage è contrassegnato per il rendering se l'immagine ha modificato le aree specificate dalle chiamate precedenti al AddDirtyRect metodo.

Quando si esegue il commit e il rendering delle modifiche, vengono eseguite chiamate aggiuntive al blocco del metodo fino a Lock quando il thread di rendering non ha copiato il contenuto del buffer indietro nel buffer anteriore. Questa sincronizzazione evita gli artefatti visualizzati, ad esempio la rottura.

Nota

Non aggiornare la superficie Direct3D mentre viene D3DImage sbloccata.

Si applica a

Vedi anche