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 。 此同步處理可避免顯示成品,例如卸載。
注意
解除鎖定時 D3DImage 請勿更新 Direct3D 表面。