CachingHint Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает, следует ли кэшировать объекты мозаичной кисти.
public enum class CachingHint
public enum CachingHint
type CachingHint =
Public Enum CachingHint
- Наследование
Поля
Cache | 1 | Кэшировать объекты мозаичной кисти во буфере вне экрана, используя кэшируемые подсказки, заданные параметрами RenderOptions. |
Unspecified | 0 | Кэшируемые подсказки не заданы. |
Примеры
В следующем примере показано, как использовать параметр указания кэширования для элемента 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 свойство на кисти в кэш, можно повысить производительность с помощью кэшированных версий объектов плиток кисти.
Значения CacheInvalidationThresholdMinimum свойств — CacheInvalidationThresholdMaximum это относительные значения размера, определяющие, когда TileBrush объект должен быть повторно создан из-за изменений в масштабе. Например, установив CacheInvalidationThresholdMaximum для свойства значение 2.0, кэш TileBrush только необходимо создать повторно, если его размер превышает в два раза больше текущего кэша.