Aracılığıyla paylaş


D3DImage.IsFrontBufferAvailable Özellik

Tanım

Ön arabellek olup olmadığını gösteren bir değer alır.

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

Özellik Değeri

true ön arabellek varsa; aksi takdirde , false.

Örnekler

Aşağıdaki kod örneğinde, oluşturma hedefi işlenirken özelliğin IsFrontBufferAvailable nasıl denetlenecekleri gösterilmektedir. Daha fazla bilgi için bkz . İzlenecek yol: WPF'de Direct3D9 İçeriği barındırma.

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;
        }
    }
}

Açıklamalar

Bazen ön arabellek kullanılamaz duruma gelir. Bu kullanılabilirlik eksikliğine ekran kilitleme, tam ekran özel Direct3D uygulamaları, kullanıcı değiştirme veya diğer sistem etkinlikleri neden olabilir. Bu durum oluştuğunda, OLAYı işleyerek IsFrontBufferAvailableChanged WPF uygulamanıza bildirim gönderilir. Uygulamanızın ön arabelleğin kullanılamaz duruma gelmesine nasıl yanıt verdiği WPF'nin yazılım işlemeye geri dönmek için etkinleştirilip etkinleştirilmediğine bağlıdır. yöntemi, SetBackBuffer WPF'nin yazılım işlemeye geri dönüp dönmediğini belirten bir parametre alan bir aşırı yüklemeye sahiptir. Daha fazla bilgi için D3DImage sınıfındaki açıklamalara bakın.

Bağımlılık Özelliği Bilgileri

Öğe Değer
Tanımlayıcı alanı IsFrontBufferAvailableProperty
Meta veri özellikleri olarak ayarlandı true Hiçbiri

Şunlara uygulanır

Ayrıca bkz.