Aracılığıyla paylaş


D3DImage.Unlock Yöntem

Tanım

için kilit sayısını azaltma.D3DImage

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

Örnekler

Aşağıdaki kod örneğinde, güncelleştirilmiş geri arabelleği ön arabelleğe kopyalamak için yönteminin nasıl çağrılması Unlock gösterilmektedir. Daha fazla bilgi için bkz. İzlenecek yol: WPF'de Direct3D9 İçeriği Barındırma.

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

Açıklamalar

için kilit sayısı sıfıra D3DImage ulaştığında kilidi D3DImage tamamen açılır. D3DImage görüntü yöntemine yapılan önceki çağrılar tarafından belirtilen alanları değiştirdiyse işleme için AddDirtyRect işaretlenir.

Değişiklikler işlendiğinde ve işleme gerçekleştiğinde, işleme iş parçacığı arka arabelleğin Lock içeriğini ön arabelleğe kopyalayana kadar yöntem bloğuna ek çağrılar. Bu eşitleme, yırtılma gibi görüntü yapıtlarını önler.

Not

Kilidi açıkken D3DImage Direct3D yüzeyini güncelleştirmayın.

Şunlara uygulanır

Ayrıca bkz.