RenderOptions.SetCachingHint(DependencyObject, CachingHint) Método
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.
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.