D3DImage.IsFrontBufferAvailable Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
true
existuje-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é |