Sdílet prostřednictvím


D3DImage.IsFrontBufferAvailable Vlastnost

Definice

Získá hodnotu, která označuje, zda existuje přední vyrovnávací paměť.

public:
 property bool IsFrontBufferAvailable { bool get(); };
public bool IsFrontBufferAvailable { get; }
member this.IsFrontBufferAvailable : bool
Public ReadOnly Property IsFrontBufferAvailable As Boolean

Hodnota vlastnosti

trueexistuje-li přední vyrovnávací paměť; v opačném případě . false

Příklady

Následující příklad kódu ukazuje, jak zkontrolovat IsFrontBufferAvailable vlastnost při vykreslování cíle složení. Další informace najdete v tématu Návod: Hostování obsahu Direct3D9 ve WPF.

void CompositionTarget_Rendering(object sender, EventArgs e)
{
    RenderingEventArgs args = (RenderingEventArgs)e;

    // It's possible for Rendering to call back twice in the same frame 
    // so only render when we haven't already rendered in this frame.
    if (d3dimg.IsFrontBufferAvailable && _lastRender != args.RenderingTime)
    {
        IntPtr pSurface = IntPtr.Zero;
        HRESULT.Check(GetBackBufferNoRef(out pSurface));
        if (pSurface != IntPtr.Zero)
        {
            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();

            _lastRender = args.RenderingTime;
        }
    }
}

Poznámky

V některých případech se přední vyrovnávací paměť stane nedostupnou. Příčinou této nedostatečné dostupnosti může být zamykání obrazovky, výhradní aplikace Direct3D na celou obrazovku, přepínání uživatelů nebo jiné systémové aktivity. Když k tomu dojde, aplikace WPF bude upozorněna zpracováním IsFrontBufferAvailableChanged události. Způsob, jakým vaše aplikace reaguje na nedostupnost přední vyrovnávací paměti, závisí na tom, jestli je WPF povolené pro návrat k vykreslování softwaru. Metoda SetBackBuffer má přetížení, které přebírá parametr, který určuje, zda WPF vrátí softwarové vykreslování. Další informace najdete v poznámkách ve D3DImage třídě.

Informace o vlastnosti závislosti

Pole Identifikátor IsFrontBufferAvailableProperty
Vlastnosti metadat nastavené na true Žádné

Platí pro

Viz také