D3DImage.Unlock Methode

Definitie

Hiermee wordt het aantal vergrendelingen voor de D3DImage.

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

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de Unlock methode aanroept om de bijgewerkte backbuffer naar de frontbuffer te kopiƫren. Zie Walkthrough: Direct3D9-inhoud hosten in WPF voor meer informatie.

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();

Opmerkingen

Wanneer het aantal vergrendelingen voor de D3DImage nul bereikt, wordt de D3DImage vergrendeling volledig ontgrendeld. Het D3DImage is gemarkeerd voor rendering als de afbeelding gebieden heeft gewijzigd die zijn opgegeven door eerdere aanroepen naar de AddDirtyRect methode.

Wanneer de wijzigingen worden doorgevoerd en weergegeven, worden er extra aanroepen naar het Lock methodeblok uitgevoerd totdat de renderthread de inhoud van de backbuffer naar de voorbuffer heeft gekopieerd. Deze synchronisatie voorkomt dat artefacten worden weergegeven, zoals scheuren.

Note

Werk het Direct3D-oppervlak niet bij terwijl het D3DImage ontgrendeld is.

Van toepassing op

Zie ook