D3DImage.Unlock 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
遞減鎖的數量。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 不要更新。