Compartilhar via


RenderOptions.CachingHint Propriedade anexada

Definição

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

Aplica-se a

Confira também