Språk

D3DImage.Unlock Metod

Definition

Minskar antalet lås för D3DImage.

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

Exempel

I följande kodexempel visas hur du anropar Unlock metoden för att kopiera den uppdaterade bufferten till den främre bufferten. För mer information, se Genomgång: Som värd för Direct3D9-innehåll i 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();

Kommentarer

När låsantalet D3DImage för når noll är det D3DImage helt olåst. D3DImage Är markerad för återgivning om bilden har ändrat områden som angavs av tidigare anrop till AddDirtyRect metoden.

När ändringarna checkas in och återgivningen sker, görs ytterligare anrop till metodblocket Lock tills återgivningstråden har kopierat innehållet i den bakre bufferten till den främre bufferten. Den här synkroniseringen undviker att visa artefakter, till exempel att riva.

Note

Uppdatera inte Direct3D-ytan när den D3DImage är upplåst.

Gäller för

Se även