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 完全解锁。 如果图像已更改之前对AddDirtyRect该方法的调用指定的区域,则D3DImage标记为呈现。

提交更改并呈现时,对方法块的其他调用 Lock ,直到呈现线程将后台缓冲区的内容复制到前缓冲区。 此同步可避免显示项目,例如撕裂。

备注

解锁时 D3DImage 不要更新 Direct3D 图面。

适用于

另请参阅