CachingHint Enumeração
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Especifica se deve armazenar em cache objetos de pincel lado a lado.
public enum class CachingHint
public enum CachingHint
type CachingHint =
Public Enum CachingHint
- Herança
Campos
Cache | 1 | Armazena em cache os objetos de pincel lado a lado em um buffer fora da tela, usando as dicas de cache especificadas pelas configurações de RenderOptions. |
Unspecified | 0 | Nenhuma dica de cache foi especificada. |
Exemplos
O exemplo a seguir mostra como usar a opção de dica de cache para um DrawingBrush.
DrawingBrush drawingBrush = new DrawingBrush();
// Set the caching hint option for the brush.
RenderOptions.SetCachingHint(drawingBrush, CachingHint.Cache);
// Set the minimum and maximum relative sizes for regenerating the tiled brush.
// The tiled brush will be regenerated and re-cached when its size is
// 0.5x or 2x of the current cached size.
RenderOptions.SetCacheInvalidationThresholdMinimum(drawingBrush, 0.5);
RenderOptions.SetCacheInvalidationThresholdMaximum(drawingBrush, 2.0);
Dim drawingBrush As New DrawingBrush()
' Set the caching hint option for the brush.
RenderOptions.SetCachingHint(drawingBrush, CachingHint.Cache)
' Set the minimum and maximum relative sizes for regenerating the tiled brush.
' The tiled brush will be regenerated and re-cached when its size is
' 0.5x or 2x of the current cached size.
RenderOptions.SetCacheInvalidationThresholdMinimum(drawingBrush, 0.5)
RenderOptions.SetCacheInvalidationThresholdMaximum(drawingBrush, 2.0)
Comentários
Por padrão, o WPF não armazena em cache o conteúdo DrawingBrush e VisualBrush os objetos renderizados. Em cenários estáticos em que nem o conteúdo nem o uso do pincel na cena estão mudando, o cache não oferece um benefício porque conserva a memória de vídeo. Quando um pincel com conteúdo estático é usado de forma não estática, o comportamento padrão do WPF é renderizar novamente todo o conteúdo do pincel em cada quadro, mesmo que o conteúdo esteja inalterado. Por exemplo, isso ocorrerá quando um estático DrawingBrush ou VisualBrush for mapeado para a superfície de um objeto 3D giratório. Renderizar novamente o conteúdo estático pode ter um impacto negativo no desempenho.
Ao definir a CachingHint propriedade anexada no pincel como Cache, você pode aumentar o desempenho usando versões armazenadas em cache dos objetos de pincel em bloco.
Os CacheInvalidationThresholdMinimum valores e CacheInvalidationThresholdMaximum a propriedade são valores de tamanho relativo que determinam quando o TileBrush objeto deve ser regenerado devido a alterações na escala. Por exemplo, definindo a CacheInvalidationThresholdMaximum propriedade como 2.0, o cache só TileBrush precisa ser regenerado quando seu tamanho excede o dobro do tamanho do cache atual.