RenderOptions.CacheInvalidationThresholdMinimum 附加属性

定义

获取或设置给定 DependencyObject 的缓存失效阈值最小值。

see GetCacheInvalidationThresholdMinimum, and SetCacheInvalidationThresholdMinimum
see GetCacheInvalidationThresholdMinimum, and SetCacheInvalidationThresholdMinimum
see GetCacheInvalidationThresholdMinimum, and SetCacheInvalidationThresholdMinimum

示例

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

注解

此附加属性受 TileBrush 其派生类型支持。 它旨在与具有中间图面的画笔一起使用,例如 DrawingBrushVisualBrush。 仅当 CachingHint 属性设置为 Cache..

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

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

属性值CacheInvalidationThresholdMinimumCacheInvalidationThresholdMaximum是相对大小值,用于确定TileBrush何时应重新生成对象,因为缩放更改。 例如,当属性设置为 0.5 时 CacheInvalidationThresholdMinimum ,仅当其大小减小到当前缓存大小的不到一半时, TileBrush 才需要重新生成该属性的缓存。

若要在代码中访问此属性,请使用 GetCacheInvalidationThresholdMinimumSetCacheInvalidationThresholdMinimum 方法。

依赖项属性信息

标识符字段 CacheInvalidationThresholdMinimumProperty
元数据属性设置为 true

适用于

另请参阅