UIElement.CacheMode Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dient zum Abrufen oder Festlegen eines Werts, der angibt, dass gerenderter Inhalt nach Möglichkeit als zusammengesetzte Bitmap zwischengespeichert werden soll.
public:
property CacheMode ^ CacheMode { CacheMode ^ get(); void set(CacheMode ^ value); };
CacheMode CacheMode();
void CacheMode(CacheMode value);
public CacheMode CacheMode { get; set; }
var cacheMode = uIElement.cacheMode;
uIElement.cacheMode = cacheMode;
Public Property CacheMode As CacheMode
<uiElement CacheMode="BitmapCache" />
Eigenschaftswert
Ein Wert, der angibt, dass gerenderte Inhalte nach Möglichkeit als zusammengesetzte Bitmap zwischengespeichert werden sollen. Wenn Sie einen Wert von CacheMode angeben, werden Renderingvorgänge aus RenderTransform und Opacity für die Grafikverarbeitungseinheit (GPU) ausgeführt, sofern verfügbar. Der Standardwert ist null, der keinen zwischengespeicherten Kompositionsmodus aktiviert.
Hinweise
Legen Sie diesen Wert fest, um das Zwischenspeicherungsverhalten zu aktivieren, das RenderTransform - und Opacity-Bitmaps in die Grafikverarbeitungseinheit (GPU) auslädt. Lassen Sie es andernfalls als null.
Bei XAML ist das Zeichenfolgenliteral "BitmapCache" der einzige aktivierte Wert, den Sie als Attribut festlegen CacheMode können.
Hinweis
BitmapCache ist die einzige praktische abgeleitete Klassen in der Windows-Runtime-API, die dieses Verhalten ermöglicht (der CacheMode-Typ ist ein Zwischentyp, der nur aus Infrastruktur- und Legacygründen vorhanden ist).
Wenn sie im Code festgelegt CacheMode wird, legen Sie sie wie folgt auf einen neuen Wert von BitmapCache fest:
<Canvas x:Name="canvas1"/>
canvas1.CacheMode = new BitmapCache();
#include <winrt/Windows.UI.Xaml.Media.h>
...
canvas1().CacheMode(Windows::UI::Xaml::Media::BitmapCache{});
Wenden Sie in der Regel keine Werte auf Elemente an CacheMode , ohne zuerst Tests und Profilerstellung durchzuführen. Das Zwischenspeichern an die Grafikverarbeitungseinheit (GPU) ist nur für eine Minderheit möglicher Renderingsituationen für eine App vorgesehen, und es wird erwartet, dass Sie verschiedene Kombinationen von wann und wo in der Benutzeroberfläche eine CacheMode Einstellung anwenden. Die Übernutzung CacheMode kann die Leistung beeinträchtigen, anstatt sie zu unterstützen. Es ist am besten, den App-Oberflächenbereich zu profilieren, um zu bestimmen, welche Zielbereiche am aufwendigsten zu rendern sind, und nur mit dem Zwischenspeichern bestimmter Elemente basierend auf diesen Ergebnissen zu experimentieren. Weitere Informationen zum Profilieren zum Rendern finden Sie im Abschnitt "Statischen Cacheinhalt" des Themas "Optimieren Ihres XAML-Markups ".
Vermeiden Sie die gemeinsame Verwendung von CacheMode - und Storyboardanimationen. Das Zwischenspeichern von Inhalten, bei denen Opacity oder RenderTransform animiert werden, bewirkt, dass die Animationen abhängige Animationen werden, auch wenn die Animation null dauer ist. Um sogar zu sehen, dass diese Animationen ausgeführt werden, müssen Sie festlegen EnableDependentAnimationtrue, und eine abhängige Animation macht in der Regel alle Leistungsgewinne ungültig, die Sie möglicherweise aus dem Zwischenspeichern der Komposition erhalten.
Deckkraft wird häufig von visuellen Zuständen in Steuerelementvorlagen animiert. Dies ist daher auch dann ein Aspekt, wenn Sie keine ihrer eigenen Storyboardanimationen in XAML-Seiten deklarieren.