CachingHint 枚举

定义

指定是否缓存图块画笔对象。

public enum class CachingHint
public enum CachingHint
type CachingHint = 
Public Enum CachingHint
继承
CachingHint

字段

Cache 1

使用 RenderOptions 设置指定的缓存提示将图块画笔对象缓存在离屏缓冲区中。

Unspecified 0

未指定任何缓存提示。

示例

以下示例演示如何对 a 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)

注解

默认情况下,WPF 不会缓存呈现的内容 DrawingBrushVisualBrush 对象。 在静态情况下,场景中的内容和画笔的使用都不会更改,而不是缓存会带来好处,因为它会节省视频内存。 当以非静态方式使用具有静态内容的画笔时,WPF 的默认行为是重新呈现每个帧的画笔的全部内容,即使内容未更改。 例如,当静态 DrawingBrush 对象或 VisualBrush 映射到旋转的 3D 对象的图面时,就会发生这种情况。 重新呈现静态内容可能会对性能产生负面影响。

通过将画笔上的附加属性设置为 CachingHint 缓存,可以使用平铺画笔对象的缓存版本来提高性能。

CacheInvalidationThresholdMinimum属性值CacheInvalidationThresholdMaximum是相对大小值,用于确定TileBrush对象何时应因缩放更改而重新生成对象。 例如,通过将属性设置为 CacheInvalidationThresholdMaximum 2.0, TileBrush 则仅当其大小超过当前缓存大小的两倍时,才需要重新生成缓存。

适用于

另请参阅