Lenguaje

UIElement.CacheMode Propiedad

Definición

Obtiene o establece un valor que indica que el contenido representado se debe almacenar en caché como un mapa de bits compuesto siempre que sea posible.

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" />

Valor de propiedad

Valor que indica que el contenido representado debe almacenarse en caché como un mapa de bits compuesto siempre que sea posible. Si especifica un valor de CacheMode, las operaciones de representación de RenderTransform y Opacity se ejecutan en la unidad de procesamiento de gráficos (GPU), si está disponible. El valor predeterminado es null, que no habilita un modo de composición en caché.

Comentarios

Establezca este valor para habilitar el comportamiento de almacenamiento en caché que descarga los mapas de bits RenderTransform y Opacity en la unidad de procesamiento de gráficos (GPU). De lo contrario, déjelo como null.

Para XAML, el literal de cadena "BitmapCache" es el único valor habilitado que puedes usar para establecer CacheMode como atributo.

Note

BitmapCache es las únicas clases derivadas prácticas existentes en la API de Windows Runtime que habilita este comportamiento (el tipo CacheMode es un tipo intermedio que solo existe por motivos de infraestructura y heredados).

Si se establece CacheMode en el código, establézcalo en un nuevo valor de BitmapCache, de la siguiente manera:

<Canvas x:Name="canvas1"/>
canvas1.CacheMode = new BitmapCache();
#include <winrt/Windows.UI.Xaml.Media.h>
...
canvas1().CacheMode(Windows::UI::Xaml::Media::BitmapCache{});

Por lo general, no aplique CacheMode valores a elementos sin probar ni generar perfiles primero. El almacenamiento en caché en la unidad de procesamiento de gráficos (GPU) solo está pensado para una minoría de posibles situaciones de representación para una aplicación y se espera que se generarán perfiles de varias combinaciones de cuándo y dónde en la interfaz de usuario se aplicará una CacheMode configuración. El uso excesivo de CacheMode puede dañar el rendimiento en lugar de ayudarle. Es mejor generar perfiles del área expuesta de la aplicación para determinar qué áreas de destino son más caras de representar y experimentar con el almacenamiento en caché solo determinados elementos en función de esos resultados. Para obtener más información sobre cómo generar perfiles para la representación, consulta la sección "Almacenamiento en caché de contenido estático" del tema Optimizar el marcado XAML .

Evite usar cacheMode y animaciones con guion gráfico juntos. El almacenamiento en caché de contenido en el que Opacity o RenderTransform están animados hace que las animaciones se conviertan en animaciones dependientes, incluso si la animación es de duración cero. Para ver incluso esas animaciones, tendrías que establecer en EnableDependentAnimationtruey una animación dependiente normalmente invalida todas las ganancias de rendimiento que podrías obtener del almacenamiento en caché de la composición. La opacidad suele animarse por estados visuales en plantillas de control, por lo que se trata de una consideración incluso si no declaras ninguna de tus propias animaciones con guion gráfico en páginas XAML.

Se aplica a

Consulte también