Erweitern Minimieren

UIElement.CacheMode Property

Ruft einen Wert ab, der angibt, dass gerenderter Inhalt nach Möglichkeit als zusammengesetzte Bitmap zwischengespeichert werden sollte.

Syntax


public CacheMode CacheMode { get; set; }


<uiElement CacheMode="BitmapCache" />

Eigenschaftswert

Typ: CacheMode

Ein Wert, der angibt, dass gerenderter Inhalt nach Möglichkeit als zusammengesetzte Bitmap zwischengespeichert werden sollte. Wenn Sie einen Wert von CacheModeangeben, werden Renderingvorgänge von RenderTransform und Opacity im Grafikprozessor (GPU) ausgeführt, sofern verfügbar. Der Standardwert ist null, womit ein zwischengespeicherter Kompositionsmodus nicht aktiviert wird.

Hinweise

Legen Sie diesen Wert fest, um das Zwischenspeicherungsverhalten zu aktivieren, das RenderTransform- und Opacity-Bitmaps auf den GPU-Computer auslagert. Andernfalls lassen Sie den Wert null unverändert.

Für XAML ist das Zeichenfolgenliteral "BitmapCache" der einzige aktivierte Wert, den Sie verwenden können, um CacheMode als Attribut festzulegen.

Hinweis  BitmapCache ist die einzige vorhandene praktische abgeleitete Klasse in der Windows-Runtime-API, die dieses Verhaltens ermöglicht (der CacheMode-Typ ist ein Zwischentyp, der nur aus Infrastruktur- und Legacygründen besteht).

Wenn Sie CacheMode in Code festlegen, legen Sie ihn folgendermaßen auf einen neuen Wert von BitmapCache fest:


canvas1.CacheMode = new BitmapCache(); //canvas1 is an existing named element in UI

Wenden Sie CacheMode-Werte nicht generell auf die Elemente an, ohne diese zunächst zu testen und Profile dafür zu erstellen. Die GPU-Zwischenspeicherung ist bei einer App nur für einige wenige mögliche Renderingsituationen geeignet. Die Frage, wann und wo in der UI eine CacheMode-Einstellung angewendet wird, lösen Sie deshalb, indem Sie mehrere Kombinationen als Profil anlegen. Eine zu häufige Verwendung von CacheMode kann die Leistungsfähigkeit beeinträchtigen, statt sie zu verbessern. Am besten wird der Oberflächenbereich der App daraufhin untersucht, welche betroffenen Bereiche am aufwändigsten zu rendern sind, und dann anhand der Ergebnisse mit dem Ausblenden bestimmter Elemente experimentiert. Weitere Informationen zur Profilerstellung zum Rendern finden Sie unter IsOverdrawHeatMapEnabled und im Abschnitt "Cachen von statischem Inhalt" des Themas Optimieren des XAML-Ladevorgangs.

Vermeiden Sie die gemeinsame Verwendung von CacheMode und Storyboard-Animationen. Das Zwischenspeichern von Inhalt, bei dem Opacity oder RenderTransform animiert ist, führt dazu, dass die Animationen abhängig werden, selbst wenn die Animation keine Dauer (Nullwert) aufweist. Um auch die Ausführung dieser Animationen zu sehen, müssten Sie EnableDependentAnimation auf true festlegen, und eine abhängige Animation macht normalerweise alle Leistungszuwächse zunichte, die durch das Zwischenspeichern der Komposition erzielt werden. Opacity wird häufig durch visuelle Zustände in Steuerelementvorlagen animiert, sodass dies berücksichtigt werden muss, auch wenn Sie keine eigenen Storyboard-Animationen in XAML-Seiten deklarieren.

Anforderungen

Mindestens unterstützter Client

Windows 8

Mindestens unterstützter Server

Windows Server 2012

Namespace

Windows.UI.Xaml
Windows::UI::Xaml [C++]

Metadaten

Windows.winmd

Siehe auch

UIElement
IsOverdrawHeatMapEnabled
Optimieren des XAML-Ladevorgangs
Storyboard-Animationen

 

 

Anzeigen:
© 2014 Microsoft