Compartir a través de


D3DImage.Unlock Método

Definición

Disminuye el número de bloqueos para D3DImage.

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

Ejemplos

En el ejemplo de código siguiente se muestra cómo llamar al Unlock método para copiar el búfer de reserva actualizado en el búfer frontal. Para obtener más información, consulte Tutorial: Hospedar contenido Direct3D9 en 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();

Comentarios

Cuando el recuento de bloqueos de D3DImage alcanza cero, se D3DImage desbloquea por completo. D3DImage se marca para representar si la imagen ha cambiado las áreas especificadas por las llamadas anteriores al AddDirtyRect método .

Cuando se confirman y se representan los cambios, se realizan llamadas adicionales al bloque de Lock método hasta que el subproceso de representación haya copiado el contenido del búfer de reserva en el búfer frontal. Esta sincronización evita la visualización de artefactos, como el desgarro.

Nota

No actualice la superficie de Direct3D mientras D3DImage está desbloqueada.

Se aplica a

Consulte también