Condividi tramite


UIElement.CacheMode Proprietà

Definizione

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 di 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 offload le bitmap RenderTransform e Opacity nell'unità di elaborazione grafica (GPU). In caso contrario, lasciarlo come null.

Per XAML, il valore letterale stringa "BitmapCache" è l'unico valore abilitato che puoi usare per impostare CacheMode come attributo.

Nota

BitmapCache è l'unica classe derivata pratica esistente nell'API Windows Runtime che abilita questo comportamento (il tipo CacheMode è un tipo intermedio esistente 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{});

In genere non applicare CacheMode valori agli elementi senza prima eseguire test e profilatura. La memorizzazione nella cache nell'unità di elaborazione grafica (GPU) è destinata solo a una minoranza di possibili situazioni di rendering per un'app ed è previsto che si profileranno varie combinazioni di quando e dove nell'interfaccia utente applicare un'impostazione CacheMode . L'uso eccessivo di CacheMode può danneggiare le prestazioni piuttosto che aiutarlo. È consigliabile profilare l'area di attacco dell'app per determinare quali aree di destinazione sono più costose da eseguire per il rendering e sperimentare la memorizzazione nella cache solo di determinati elementi in base a tali risultati. Per altre info su come profilare il rendering, vedi la sezione "Memorizzare nella cache il contenuto statico" dell'argomento Ottimizzare il markup XAML .

Evitare di usare Insieme le animazioni CacheMode e storyboard. La memorizzazione nella cache del contenuto in cui opacità o RenderTransform viene animata fa sì che le animazioni diventino animazioni dipendenti, anche se l'animazione è di durata zero. Per vedere anche che le animazioni vengono eseguite, devi impostare su EnableDependentAnimationtruee un'animazione dipendente in genere invalida tutti i miglioramenti delle prestazioni che potresti ottenere dalla memorizzazione nella cache della composizione. L'opacità è spesso animata dagli stati di visualizzazione nei modelli di controllo, quindi si tratta di una considerazione anche se non dichiari alcuna delle tue animazioni con storyboard nelle pagine XAML.

Si applica a

Vedi anche