D3DImage.Unlock Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Disminuye el recuento 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, vea Tutorial: Hospedaje de contenido de 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 alcanza D3DImage cero, se D3DImage desbloquea por completo. D3DImage se marca para la representación 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étodos hasta que el subproceso de representación ha copiado el contenido del búfer de reserva en el búfer frontal. Esta sincronización evita mostrar artefactos, como el desgarro.
Nota:
No actualice la superficie de Direct3D mientras D3DImage está desbloqueada.