RenderOptions.CachingHint Propriedade Anexada

Definição

Recebe ou define um valor que indica que o conteúdo renderizado deve ser armazenado em cache sempre que 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>

Observações

Esta propriedade associada é suportada por TileBrush e os seus tipos derivados. Destina-se a ser usado com pincéis que têm superfícies intermédias, como DrawingBrush e VisualBrush.

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 poupa 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 a 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 do pincel para Cache, pode aumentar o desempenho usando versões em cache dos objetos do pincel em mosaico.

Os CacheInvalidationThresholdMinimum valores das propriedades 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 está definida para 2.0, a cache para o TileBrush só precisa de ser regenerada quando o seu tamanho exceder o dobro do tamanho da cache atual.

Para aceder a esta propriedade no código, use os GetCachingHint métodos e SetCachingHint .

Informação de Propriedade de Dependência

Iteme Value
Campo identificador CachingHintProperty
Propriedades dos metadados definidas como true None

Aplica-se a

Ver também