D3DImage.IsFrontBufferAvailable Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Ö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, WPF uygulamanıza IsFrontBufferAvailableChanged olayı işlenerek 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. SetBackBuffer yöntemi, WPF'nin yazılım işlemeye geri dönüp dönmeyeceğini belirleyen bir parametre kabul eden bir aşırı yükleme içerir. 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 |