RenderOptions.CachingHint Propriedade anexada
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.
Obtém ou define um valor que indica que o conteúdo processado deve ser armazenado em cache quando possível.
see GetCachingHint, and SetCachingHint
see GetCachingHint, and SetCachingHint
see GetCachingHint, and SetCachingHint
Exemplos
O exemplo a seguir mostra como usar a opção de dica de cache para um DrawingBrush.
<DrawingBrush x:Key="drawingBrush"
RenderOptions.CachingHint="Cache"
RenderOptions.CacheInvalidationThresholdMaximum="2.0"
RenderOptions.CacheInvalidationThresholdMinimum="0.5">
<DrawingBrush.Drawing>
<GeometryDrawing Brush="Blue">
<GeometryDrawing.Geometry>
<GeometryGroup>
<EllipseGeometry RadiusX="20" RadiusY="20" Center="10,10" />
</GeometryGroup>
</GeometryDrawing.Geometry>
<GeometryDrawing.Pen>
<Pen Thickness="10" Brush="Black" />
</GeometryDrawing.Pen>
</GeometryDrawing>
</DrawingBrush.Drawing>
</DrawingBrush>
Comentários
Essa propriedade anexada é compatível com TileBrush e seus tipos derivados. Ele destina-se a ser usado com pincéis que têm superfícies intermediárias, como DrawingBrush e VisualBrush.
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.
Para acessar essa propriedade no código, use os GetCachingHint métodos e SetCachingHint .
Informações da propriedade de dependência
Campo Identificador | CachingHintProperty |
Propriedades de metadados definidas como true |
Nenhum |