Compartilhar via


CachingHint Enumeração

Definição

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
CachingHint

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.

Aplica-se a

Confira também