語言

D3DImage.Unlock 方法

定義

遞減鎖的數量。D3DImage

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

範例

以下程式碼範例說明如何呼叫 Unlock 將更新後的後方緩衝區複製到前方緩衝區的方法。 如需詳情,請參閱 逐步解說:在 WPF 中裝載 Direct3D9 內容。

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

備註

當鎖數 D3DImage 歸零時,門 D3DImage 就完全解鎖。 如果影像改變了先前呼叫D3DImage方法所指定的區域,則AddDirtyRect標記為渲染。

當變更被提交並進行渲染時,會對方法區塊進行額外呼叫 Lock ,直到渲染執行緒將後方緩衝區的內容複製到前方緩衝區。 這種同步避免了顯示瑕疵,例如撕裂。

Note

在 Direct3D 表面解鎖時 D3DImage 不要更新。

適用於

另請參閱