D3DImage.Unlock Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Minskar antalet lås för D3DImage.
public:
void Unlock();
public void Unlock();
member this.Unlock : unit -> unit
Public Sub Unlock ()
Exempel
I följande kodexempel visas hur du anropar Unlock metoden för att kopiera den uppdaterade bufferten till den främre bufferten. För mer information, se Genomgång: Som värd för Direct3D9-innehåll i 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();
Kommentarer
När låsantalet D3DImage för når noll är det D3DImage helt olåst. D3DImage Är markerad för återgivning om bilden har ändrat områden som angavs av tidigare anrop till AddDirtyRect metoden.
När ändringarna checkas in och återgivningen sker, görs ytterligare anrop till metodblocket Lock tills återgivningstråden har kopierat innehållet i den bakre bufferten till den främre bufferten. Den här synkroniseringen undviker att visa artefakter, till exempel att riva.
Note
Uppdatera inte Direct3D-ytan när den D3DImage är upplåst.