UIElement.CacheMode Propriedade

Definição

Obtém ou define um valor que indica que o conteúdo renderizado deve ser armazenado em cache como um bitmap composto quando possível.

C#
public CacheMode CacheMode { get; set; }
XAML
<uiElement CacheMode="BitmapCache" />

Valor da propriedade

Um valor que indica que o conteúdo renderizado deve ser armazenado em cache como um bitmap composto quando possível. Se você especificar um valor de CacheMode, as operações de renderização de RenderTransform e Opacity serão executadas na GPU (unidade de processamento gráfico), se disponível. O padrão é null, que não habilita um modo de composição armazenado em cache.

Comentários

Defina esse valor para habilitar o comportamento de cache que descarrega bitmaps RenderTransform e Opacity para a GPU (unidade de processamento gráfico). Caso contrário, deixe como null.

Para XAML, o literal de cadeia de caracteres "BitmapCache" é o único valor habilitado que você pode usar para definir CacheMode como um atributo.

Nota

BitmapCache é a única classe derivada prática existente na API Windows Runtime que permite esse comportamento (o tipo CacheMode é um tipo intermediário que existe apenas por motivos de infraestrutura e herdados).

Se estiver configurando CacheMode no código, defina-o como um novo valor de BitmapCache, desta forma:

XAML
<Canvas x:Name="canvas1"/>
C#
canvas1.CacheMode = new BitmapCache();

Geralmente, não aplique CacheMode valores a elementos sem testar e criar perfil primeiro. O cache para a GPU (unidade de processamento gráfico) destina-se apenas a uma minoria de possíveis situações de renderização para um aplicativo, e espera-se que você crie o perfil de várias combinações de quando e onde na interface do usuário aplicar uma CacheMode configuração. O uso excessivo de pode prejudicar o desempenho em vez de CacheMode ajudá-lo. É melhor criar o perfil da área da superfície do aplicativo para determinar quais áreas de destino são mais caras de renderizar e experimentar o cache apenas de determinados elementos com base nesses resultados. Para obter mais informações sobre como criar o perfil para renderização, consulte a seção "Conteúdo estático do cache" do tópico Otimizar sua marcação XAML .

Evite usar o CacheMode e animações com storyboard juntas. Armazenar em cache o conteúdo em que Opacidade ou RenderTransform são animados faz com que as animações se tornem animações dependentes, mesmo que a animação seja de duração zero. Para ver essas animações serem executadas, você teria que definir EnableDependentAnimationtruecomo e uma animação dependente geralmente invalida todos os ganhos de desempenho obtidos com o cache da composição. A opacidade geralmente é animada por estados visuais em modelos de controle, portanto, essa é uma consideração mesmo que você não esteja declarando nenhuma de suas próprias animações com storyboard em páginas XAML.

Aplica-se a

Produto Versões
Windows App SDK 0.8, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6

Confira também