CachingHint 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定是否缓存图块画笔对象。
public enum class CachingHint
public enum CachingHint
type CachingHint =
Public Enum 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 不会缓存呈现的内容 DrawingBrush 和 VisualBrush 对象。 在静态情况下,场景中的内容和画笔的使用都不会更改,而不是缓存会带来好处,因为它会节省视频内存。 当以非静态方式使用具有静态内容的画笔时,WPF 的默认行为是重新呈现每个帧的画笔的全部内容,即使内容未更改。 例如,当静态 DrawingBrush 对象或 VisualBrush 映射到旋转的 3D 对象的图面时,就会发生这种情况。 重新呈现静态内容可能会对性能产生负面影响。
通过将画笔上的附加属性设置为 CachingHint 缓存,可以使用平铺画笔对象的缓存版本来提高性能。
CacheInvalidationThresholdMinimum属性值CacheInvalidationThresholdMaximum是相对大小值,用于确定TileBrush对象何时应因缩放更改而重新生成对象。 例如,通过将属性设置为 CacheInvalidationThresholdMaximum 2.0, TileBrush 则仅当其大小超过当前缓存大小的两倍时,才需要重新生成缓存。