CachingHint Enumeração

Definição

Especifica se deve armazenar em cache objetos brush em mosaico.

public enum class CachingHint
public enum CachingHint
type CachingHint = 
Public Enum CachingHint
Herança
CachingHint

Campos

Name Valor Description
Unspecified 0

Não são especificadas dicas de cache.

Cache 1

Armazene em cache os objetos brush em mosaico num buffer fora do ecrã, usando as dicas de cache especificadas pelas RenderOptions definições.

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)

Observações

Por defeito, WPF não armazena em cache o conteúdo renderizado dos objetos DrawingBrush e VisualBrush. Em cenários estáticos onde nem o conteúdo nem o uso do pincel na cena mudam, não fazer cache oferece uma vantagem porque conserva 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 é voltar a renderizar todo o conteúdo do pincel em cada frame, mesmo que o conteúdo seja inalterável. Por exemplo, isto acontece quando uma estática DrawingBrush ou VisualBrush está mapeada para a superfície de um objeto 3D em rotação. A re-renderização do conteúdo estático pode ter um impacto negativo no desempenho.

Ao definir a CachingHint propriedade associada no pincel para Cache, pode aumentar o desempenho usando versões em cache dos objetos do pincel em mosaico.

Os valores de propriedade CacheInvalidationThresholdMinimum e CacheInvalidationThresholdMaximum são valores de tamanho relativo que determinam quando o objeto TileBrush deve ser regenerado devido a alterações na escala. Por exemplo, ao definir a propriedade CacheInvalidationThresholdMaximum como 2.0, o cache para o TileBrush só precisa ser regenerado quando o seu tamanho exceder o dobro do tamanho do cache atual.

Aplica-se a

Ver também