Sdílet prostřednictvím


D3DImage.Unlock Metoda

Definice

Sníží počet zámků D3DImagepro .

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

Příklady

Následující příklad kódu ukazuje, jak volat metodu Unlock pro zkopírování aktualizované zadní vyrovnávací paměti do front vyrovnávací paměti. Další informace naleznete v tématu Návod: Hostování obsahu Direct3D9 ve 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();

Poznámky

Pokud počet zámků D3DImage pro dosažení nuly dosáhne, D3DImage je plně odemknutý. Je D3DImage označen k vykreslení, pokud obrázek změnil oblasti, které byly zadány předchozími voláními AddDirtyRect metody.

Při potvrzení změn a vykreslování dojde k dalším voláním Lock bloku metody, dokud vlákno vykreslování nekopíruje obsah zpětné vyrovnávací paměti do front vyrovnávací paměti. Tato synchronizace zabraňuje zobrazení artefaktů, jako je například roztrhání.

Poznámka

Neaktualizovat plochu Direct3D, když D3DImage je odemknutá.

Platí pro

Viz také