UIElement.CacheMode Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta un valore che indica che il contenuto sottoposto a rendering deve essere memorizzato nella cache come bitmap composita quando possibile.
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" />
Valore della proprietà
Valore che indica che il contenuto sottoposto a rendering deve essere memorizzato nella cache come bitmap composita quando possibile. Se si specifica un valore di CacheMode, le operazioni di rendering da RenderTransform e Opacity vengono eseguite nell'unità di elaborazione grafica (GPU), se disponibile. Il valore predefinito è Null, che non abilita una modalità di composizione memorizzata nella cache.
Commenti
Impostare questo valore per abilitare il comportamento di memorizzazione nella cache che offloads RenderTransform e bitmap Opacity all'unità di elaborazione grafica (GPU). In caso contrario, lasciarlo come Null.
Per XAML, il valore letterale stringa "BitmapCache" è l'unico valore abilitato che è possibile usare per impostare CacheMode come attributo.
Nota
BitmapCache è l'unica classe pratica pratica esistente nell'API Windows Runtime che abilita questo comportamento (il tipo CacheMode è un tipo intermedio che esiste solo per motivi di infrastruttura e legacy).
Se si imposta CacheMode nel codice, impostarlo su un nuovo valore di BitmapCache, come illustrato di seguito:
<Canvas x:Name="canvas1"/>
canvas1.CacheMode = new BitmapCache();
#include <winrt/Windows.UI.Xaml.Media.h>
...
canvas1().CacheMode(Windows::UI::Xaml::Media::BitmapCache{});
canvas1->CacheMode = ref new BitmapCache();
Non applicare in genere i valori CacheMode agli elementi senza testare e profilare prima. La memorizzazione nella cache nell'unità di elaborazione grafica (GPU) è destinata solo a una minoranza di possibili situazioni di rendering per un'app e si prevede di profilare varie combinazioni di quando e dove nell'interfaccia utente applicare un'impostazione CacheMode. L'uso eccessivo di CacheMode può danneggiare le prestazioni anziché aiutarlo. È consigliabile profilare l'area di superficie dell'app per determinare quali aree di destinazione sono più costose per il rendering e per sperimentare la memorizzazione nella cache solo di determinati elementi in base ai risultati. Per altre informazioni su come profilare il rendering, vedere La sezione IsOverdrawHeatMapEnabled e "Cache static content" dell'argomento Ottimizza il markup XAML .
Evitare di usare le animazioni cacheMode e storyboard insieme. La memorizzazione nella cache del contenuto in cui opacità o RenderTransform è animata, le animazioni diventano animazioni dipendenti, anche se l'animazione è zero-duration. Per visualizzare anche tali animazioni eseguite, è necessario impostare EnableDependentAnimation su true e un'animazione dipendente in genere invalida tutti i miglioramenti delle prestazioni che si potrebbero ottenere dalla memorizzazione nella cache della composizione. L'opacità spesso è animata dagli stati visivi nei modelli di controllo, quindi si tratta di una considerazione anche se non si dichiara alcuna delle animazioni storyboard personalizzate nelle pagine XAML.