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 свойство в коде.