D3DImage.Unlock Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.