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 完全解锁。 如果图像已更改之前对AddDirtyRect该方法的调用指定的区域,则D3DImage标记为呈现。
提交更改并呈现时,对方法块的其他调用 Lock ,直到呈现线程将后台缓冲区的内容复制到前缓冲区。 此同步可避免显示项目,例如撕裂。
备注
解锁时 D3DImage 不要更新 Direct3D 图面。