CachingHint Enumeração
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Especifica se deve armazenar em cache objetos brush em mosaico.
public enum class CachingHint
public enum CachingHint
type CachingHint =
Public Enum CachingHint
- Herança
Campos
| Name | Valor | Description |
|---|---|---|
| Unspecified | 0 | Não são especificadas dicas de cache. |
| Cache | 1 | Armazene em cache os objetos brush em mosaico num buffer fora do ecrã, usando as dicas de cache especificadas pelas RenderOptions definições. |
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)
Observações
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 conserva 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 em 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 no pincel para Cache, pode aumentar o desempenho usando versões em cache dos objetos do pincel em mosaico.
Os valores de propriedade CacheInvalidationThresholdMinimum e CacheInvalidationThresholdMaximum são valores de tamanho relativo que determinam quando o objeto TileBrush deve ser regenerado devido a alterações na escala. Por exemplo, ao definir a propriedade CacheInvalidationThresholdMaximum como 2.0, o cache para o TileBrush só precisa ser regenerado quando o seu tamanho exceder o dobro do tamanho do cache atual.
Aplica-se a
Ver também
- RenderOptions
- Ferramentas Perfilagem de Desempenho para WPF