Partilhar via


RenderOptions.SetCachingHint(DependencyObject, CachingHint) Método

Definição

Define o valor da propriedade CachingHint anexada em um objeto de dependência especificado.

public:
 static void SetCachingHint(System::Windows::DependencyObject ^ target, System::Windows::Media::CachingHint cachingHint);
public static void SetCachingHint (System.Windows.DependencyObject target, System.Windows.Media.CachingHint cachingHint);
static member SetCachingHint : System.Windows.DependencyObject * System.Windows.Media.CachingHint -> unit
Public Shared Sub SetCachingHint (target As DependencyObject, cachingHint As CachingHint)

Parâmetros

target
DependencyObject

O objeto de dependência no qual definir o valor da propriedade CachingHint.

cachingHint
CachingHint

O novo valor a ser definido para a propriedade.

Exceções

O target especificado é null.

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 renderizado dos DrawingBrush objetos e VisualBrush . Em cenários estáticos, em que nem o conteúdo nem o uso do pincel na cena estão mudando, não o cache oferece um benefício porque conserva a memória de vídeo. Quando um pincel com conteúdo estático é usado de maneira não estática, o comportamento padrão do WPF é renderizar novamente todo o conteúdo do pincel a 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 rotativo. Renderizar novamente o conteúdo estático pode ter um impacto negativo no desempenho.

Ao definir a CachingHint propriedade anexada do pincel como Cache, você pode aumentar o desempenho usando versões armazenadas em cache dos objetos de pincel lado a lado.

Os valores de CacheInvalidationThresholdMinimum propriedade e CacheInvalidationThresholdMaximum são valores de tamanho relativo que determinam quando o TileBrush objeto deve ser regenerado devido a alterações na escala. Por exemplo, quando a CacheInvalidationThresholdMaximum propriedade é definida como 2.0, o cache para o TileBrush precisa ser regenerado somente quando seu tamanho excede duas vezes o tamanho do cache atual.

Use esse método para definir a CachingHint propriedade anexada no código.

Aplica-se a

Confira também