Compartir a través de


UIElement.CacheMode Propiedad

Definición

Obtiene o establece un valor que indica que el contenido representado debe almacenarse 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 almacenado 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 un atributo.

Nota

BitmapCache es la única clase derivada práctica existente 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 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 y 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 costosas 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 "Almacenar en caché 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 se animan hace que las animaciones se conviertan en animaciones dependientes, incluso si la animación es de duración cero. Incluso para ver que esas animaciones se ejecutan, tendrías que establecer EnableDependentAnimationtrueen y una animación dependiente normalmente invalida todas las ganancias de rendimiento que podrías obtener al almacenar en caché 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