RenderOptions.SetCachingHint(DependencyObject, CachingHint) 方法

定义

设置指定的依赖对象上的 CachingHint 附加属性值。

public:
 static void SetCachingHint(System::Windows::DependencyObject ^ target, System::Windows::Media::CachingHint cachingHint);
public static void SetCachingHint (System.Windows.DependencyObject target, System.Windows.Media.CachingHint cachingHint);
static member SetCachingHint : System.Windows.DependencyObject * System.Windows.Media.CachingHint -> unit
Public Shared Sub SetCachingHint (target As DependencyObject, cachingHint As CachingHint)

参数

target
DependencyObject

要在其上设置 CachingHint 属性值的依赖对象。

cachingHint
CachingHint

要将此属性设为的新值。

例外

指定的 targetnull

示例

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

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

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

使用此方法在代码中设置 CachingHint 附加属性。

适用于

另请参阅