RenderOptions.CachingHint 附加属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个指示应尽可能缓存呈现内容的值。
see GetCachingHint, and SetCachingHint
see GetCachingHint, and SetCachingHint
see GetCachingHint, and SetCachingHint
示例
如下示例演示如何对 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 此附加属性。 它旨在用于具有中间表面的画笔,例如 DrawingBrush 和 VisualBrush。
默认情况下,WPF 不缓存 和 VisualBrush 对象的呈现内容DrawingBrush。 在静态方案中,场景中的内容和画笔的使用都没有变化,而缓存则没有带来好处,因为它可以节省视频内存。 以非静态方式使用具有静态内容的画笔时,WPF 的默认行为是重新呈现每帧画笔的所有内容,即使内容不变。 例如,当静态 DrawingBrush 或 VisualBrush 映射到旋转 3D 对象的图面时,将发生这种情况。 重新呈现静态内容可能会对性能产生负面影响。
通过将画笔的附加属性设置为 CachingHintCache,可以使用平铺画笔对象的缓存版本来提高性能。
CacheInvalidationThresholdMinimum和 CacheInvalidationThresholdMaximum 属性值是相对大小值,用于确定何时TileBrush应由于缩放更改而重新生成对象。 例如,当 CacheInvalidationThresholdMaximum 属性设置为 2.0 时,仅当 其大小超过当前缓存 TileBrush 大小的两倍时,才需要重新生成 的缓存。
若要在代码中访问此属性,请使用 GetCachingHint 和 SetCachingHint 方法。
依赖项属性信息
标识符字段 | CachingHintProperty |
元数据属性设置为 true |
无 |