D3DImage.Unlock Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.