Freigeben über


SwapEffect-Enumeration

Dieser Dokumentation für die Vorschau nur ist und in späteren Versionen geändert. Leere Themen wurden als Platzhalter eingefügt.]

Definiert Swapeffekte.

Namespace:  Microsoft.WindowsMobile.DirectX.Direct3D
Assembly:  Microsoft.WindowsMobile.DirectX (in Microsoft.WindowsMobile.DirectX.dll)

Syntax

'Declaration
Public Enumeration SwapEffect
'Usage
Dim instance As SwapEffect
public enum SwapEffect
public enum class SwapEffect
type SwapEffect

Member

Membername Beschreibung
Wird von .NET Compact Framework unterstützt Discard Wenn eine Swapkette mit einem Swapeffekt von Flip oder Copyerstellt wird, garantiert die Common Language Runtime, dass eine Present -Operation mit einer Device nicht den Inhalt der keines der Hintergrundpuffer auswirkt.Jedoch kann diese Garantie Besprechung erhebliche Videospeicher oder Verarbeitung Overheadfolien umfassen insbesondere beim Kippen Semantik für eine Swapkette im Fenstermodus Kette oder kopieren die Semantik für eine Swapkette Vollbild-implementieren.

Eine Anwendung kann den Swapeffekt Discard verwenden, um diesen Aufwand zu vermeiden und aktivieren den Grafiktreiber, um das effizienteste Verfahren Präsentation für die Swapkette auszuwählen.

Discard ist auch der einzige Swapeffekt, der einen anderen Wert als NoneMultiSampleType für die Angabe verwendet werden können.Wie eine Swapkette, die Flipverwendet, kann eine Swapkette, die Discard verwendet mehrere Hintergrundpuffer enthalten, eines der mit Device.GetBackBuffer oder SwapChain.GetBackBuffer zugegriffen werden kann.

Die Swapkette ist im Wesentlichen eine Warteschlange, in denen Indizes 0 immer des Hintergrundpuffers, der von der nächsten Operation Device.Present und aus dem Puffer verworfen werden, sobald Sie angezeigt wurden angezeigt werden.Eine Anwendung, die diesen Swapeffekt verwendet sollten eine gesamte Hintergrundpuffer aktualisieren, bevor Sie einen Device.Present Vorgang, der angezeigt.

Die Debugversion der Laufzeit überschreibt den Inhalt der verworfenen Hintergrundpuffer mit zufälligen Daten, damit Entwickler überprüfen, dass Ihre Anwendungen die gesamte Hintergrundpufferoberfläche ordnungsgemäß aktualisieren.

Für eine Swapkette im Vollbildmodus wird die Präsentationsrate durch den Wert Caps.PresentationIntervals beim Erstellen die Kette Gerät oder der Swapkette zugewiesen bestimmt.Wenn dieser Wert direkt ist, wird die Präsentation mit der vertikalen Synchronisierung des Monitors synchronisiert.Für eine Swapkette die Präsentation mithilfe von Kopiervorgängen implementiert und erfolgt immer sofort.

Wird von .NET Compact Framework unterstützt Flip Die Swapkette möglicherweise mehrere Hintergrundpuffer enthalten und ist im Wesentlichen eine zirkuläre Warteschlange, die den Frontpuffer einschließt.Innerhalb dieser Warteschlange präsentiert die Rückseite Puffer immer sequenziell von 0 bis (n - 1) nummeriert sind, wobei ist n die Anzahl der Hintergrundpuffer, sodass 0 am wenigsten kürzlich kennzeichnet Puffer.

Wenn Device.Present aufgerufen wird, wird die Warteschlange gedreht, so dass der Frontpuffer Hintergrundpuffer (n - 1), wird während der Hintergrundpuffer 0 der neuen Frontpuffer wird.

Für eine Swapkette im Vollbildmodus wird die Präsentationsrate durch den Wert im Caps.PresentationIntervals zugewiesen, wenn die Gerät oder der Swapkette Kette erstellt wird bestimmt.

Einer Swapkette der kippen wird mithilfe von Kopiervorgängen implementiert und die Präsentation immer sofort auftritt.

Wird von .NET Compact Framework unterstützt Copy Dieser Swapeffekt kann nur für eine Swapkette angegeben werden, die einen einzelnen Hintergrundpuffer besteht.

Ob die Swapkette im Fenstermodus oder Vollbildmodus ist, garantiert die Common Language Runtime die durch eine Kopie-basierten Present -Operation ein Device; implizite Semantikinsbesondere, dass der Vorgang den Inhalt der Hintergrundpuffer bleibt unverändert, anstatt mit dem Inhalt der Frontpuffer ersetzen, wie eine Operation kippen basierende Present.

Für eine Swapkette bewirkt, dass eine Operation Present den Hintergrundpuffer Inhalte sofort auf Clientbereichs des Zielfensters kopiert werden.Keine versucht, die Kopie mit der Grafikkarte die vertikale Rücklaufdauer synchronisieren, kann also Zerreißen Effekte beobachtet werden.

Für eine Swapkette im Vollbildmodus verwendet die Common Language Runtime eine Kombination von Operationen, kippen und kopieren (die, bei Bedarf durch verborgene Hintergrundpuffer unterstützt werden) um den Vorgang Present zu erreichen.Entsprechend die Präsentation wird mit der Grafikkarte vertikalen Rücklaufdauer synchronisiert und seine Rate wird durch das ausgewählte Präsentation Intervall beschränkt.

Wird von .NET Compact Framework unterstützt CopyVSync Dieser Swapeffekt verhält sich wie das Kopieren wirksam vertauscht, außer dass er die Kopie mit der vertikalen Rücklaufdauer des Monitors synchronisiert, sodass sichert Elemente gelöscht werden.

Hinweise

Der Status der Rückseite Puffer nach dem ein Aufruf an die Present -Methode des ein Device ist von jeder dieser Swapeffekte klar definierte und gibt an, ob Microsoft Direct3Db-Gerät mit einer Vollbild-Swapkette erstellt wurde oder eine Swapkette hat keine Auswirkung auf diesen Zustand.Insbesondere der Swapeffekt Flip arbeitet gleich, ob im Fenstermodus oder Ganzer Bildschirm, und die Direct3D-Laufzeit garantiert dies durch Erstellen von zusätzlichen Puffer.Daher wird empfohlen, dass Anwendungen Discard möglichst um Leistungseinbußen zu vermeiden,, verwenden da der aktuelle Swapeffekt immer hinsichtlich der Speicherbelegung und Leistung am effizientesten ist.

Vollbild-Ziel Alpha funktioniert nicht mit Anwendungen, die Flip oder Discard verwenden.Dies bedeutet, dass die DestinationBlend von einer RenderStateManager nicht funktioniert wie erwartet, da aus Sicht des Treibers Vollbildmodus-Swapketten mit diesen Swapeffekte nicht kein explizites Pixelformat haben.Der Treiber leitet, dass es auf dem Anzeigeformat dauern sollte das keinen Alphakanal verfügt.

Plattformen

Windows CE, Windows Mobile für Smartphone, Windows Mobile für Pocket PC

Die .NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET framework.

Versionsinformationen

.NET Compact Framework

Unterstützt in: 3.5, 2.0

Siehe auch

Referenz

Microsoft.WindowsMobile.DirectX.Direct3D-Namespace

Weitere Ressourcen

Mobile Direct3D-Programmierung in .NET Compact Framework