D3DImage.Unlock Метод

Определение

Уменьшает количество блокировок для объекта D3DImage.

public:
 void Unlock();
public void Unlock ();
member this.Unlock : unit -> unit
Public Sub Unlock ()

Примеры

В следующем примере кода показано, как вызвать Unlock метод для копирования обновленного обратного буфера в передний буфер. Дополнительные сведения см. в статье Пошаговое руководство. Размещение содержимого Direct3D9 в WPF.

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 блока метода до тех пор, пока поток отрисовки не скопирует содержимое заднего буфера в передний буфер. Эта синхронизация позволяет избежать отображения артефактов, таких как разрыв.

Примечание

Не обновляйте поверхность Direct3D во время D3DImage разблокировки.

Применяется к

См. также раздел