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 не кэширует отрисованное содержимое DrawingBrush и VisualBrush объекты. В статических сценариях, где ни содержимое, ни использование кисти в сцене меняется, а не кэширование дает преимущество, так как оно экономит память видео. Если кисть со статическим содержимым используется в нестатическом режиме, поведение WPF по умолчанию заключается в повторной отрисовке всего содержимого кисти каждого кадра, даже если содержимое не изменяется. Например, это произойдет, если статический DrawingBrush объект или VisualBrush сопоставлен с поверхностью вращающегося трехмерного объекта. Повторное отображение статического содержимого может негативно повлиять на производительность.

Задав присоединенное CachingHint свойство кисти Cache, можно повысить производительность с помощью кэшированных версий объектов кисти плитки.

CacheInvalidationThresholdMinimum Значения свойств CacheInvalidationThresholdMaximum — это значения относительного размера, определяющие, когда TileBrush объект должен быть повторно создан из-за изменений в масштабе. Например, если CacheInvalidationThresholdMaximum для свойства задано значение 2.0, кэш необходимо TileBrush повторно создать только в том случае, если его размер превышает два раза больше текущего кэша.

Используйте этот метод, чтобы задать присоединенное CachingHint свойство в коде.

Применяется к

См. также раздел