Decrements the lock count for the D3DImage.
public: void Unlock();
public void Unlock ();
Public Sub Unlock ()
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();
When the lock count for the D3DImage reaches zero, the D3DImage is fully unlocked. The D3DImage is marked for rendering if the image has changed areas that were specified by previous calls to the AddDirtyRect method.
When the changes are committed and rendering occurs, additional calls to the Lock method block until the render thread has copied the contents of the back buffer to the front buffer. This synchronization avoids display artifacts, such as tearing.
Do not update the Direct3D surface while the D3DImage is unlocked.