Partager via


D3DImage.IsFrontBufferAvailable Propriété

Définition

Obtient une valeur qui indique si une mémoire tampon frontale existe.

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

Valeur de propriété

true si une mémoire tampon frontale existe ; sinon, false.

Exemples

L’exemple de code suivant montre comment vérifier la IsFrontBufferAvailable propriété lors du rendu de la cible de composition. Pour plus d’informations, consultez Procédure pas à pas : hébergement de contenu Direct3D9 dans 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;
        }
    }
}

Remarques

Parfois, la mémoire tampon frontale devient indisponible. Ce manque de disponibilité peut être dû au verrouillage de l’écran, aux applications Direct3D exclusives à l’écran, au changement d’utilisateur ou à d’autres activités système. Lorsque cela se produit, votre application WPF est avertie en gérant l’événement IsFrontBufferAvailableChanged . La façon dont votre application répond à la mémoire tampon frontale devenant indisponible dépend du fait que WPF est activé pour revenir au rendu logiciel. La SetBackBuffer méthode a une surcharge qui prend un paramètre qui spécifie si WPF revient au rendu logiciel. Pour plus d’informations, consultez les remarques de la classe D3DImage.

Informations sur les propriétés de dépendance

Élément Valeur
Champ d’identificateur IsFrontBufferAvailableProperty
Propriétés de métadonnées définies sur true Aucun

S’applique à

Voir aussi