Поделиться через


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

Новое значение, которое необходимо присвоить свойству.

Исключения

Заданный объект target имеет значение null.

Примеры

В следующем примере показано, как использовать параметр подсказки кэширования для 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 свойство в коде.

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

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